Feel me get in Δημοσ. 12 Δεκεμβρίου 2008 Δημοσ. 12 Δεκεμβρίου 2008 Καλησπέρα. Τις πονεμένες τούτες μέρες είπα να κάτσω να κάνω ένα πρόγραμμα και έχω σκαλώσει. Σας παραθέτω public class Antallaktika { //metablites ipostasis private String code, describe; private long quantity; //dimiourgia antikeimenou public Antallaktika (String cd, String dscb, long qty) { code = cd; describe = dscb; if (qty < 0) { System.out.println("AKIRI TIMI EISODOU. SAN TIMI EISODOU THEOREITAI H MIDENIKI"); quantity = 0; } if (qty > 2147483647) { System.out.println("IPERBOLIKA MEGALI TIMI EISODOU. SAN TIMI EISODOU 8EWREITAI H 2147483647"); quantity = 2147483647; } else quantity = qty; }//telos Antallaktika Στη συνέχεια το κυρίως πρόγραμμα ας πούμε ότι είναι κάπως έτσι class AntallaktikaApp { public static void main (String [] args) { int epilogi; int i = 0; String kwdikos, perigrafi; long posotita; Antallaktika [] arrayAntallaktika = new Antallaktika [10]; System.out.println("DWSTE TON KWDIKO TOY ANTALLAKTIKOU"); kwdikos = my.readStr(); my.skip(2); System.out.println("DWSTE TIN PERIGRAFI TOY ANTALLAKTIKOU"); perigrafi = my.readStr(); my.skip(2); System.out.println("DWSTE TIN POSOTITA TOY ANTALLAKTIKOU"); posotita = my.readLong(); my.skip(2); arrayAntallaktika = new Antallaktika (kwdikos, perigrafi, posotita); i++; (η my.java ήταν έτοιμη class από cd σε βιβλίο που πήρα) Προφανώς είναι μέσα σε μιά επανάληψη αλλά who cares δεν είναι αυτό το θέμα. Λοιπόν, θα ήθελα να ρωτήξω πως εμφανίζω τα περιεχόμενα μιας θέσης ενός πίνακα από objects. (δεν εμφανίζει σωστό αποτέλεσμα με την system.out.print και με την toString νομίζω παίζει exception) Επίσης πως θα μπορούσα να αλλάξω για παράδειγμα την ποσότητα και στη συνέχεια να καταχωρήσω την αλλαγμένη μεταβλητή στον πίνακα. Ευχαριστώ για τον χρόνο σας.
GrandGamer Δημοσ. 12 Δεκεμβρίου 2008 Δημοσ. 12 Δεκεμβρίου 2008 Αποκλείεται να παίζει exception με την toString(), όμως και να παίζει σωστά θα σου δίνει τη θέση μνήμης του αντικειμένου γιατί καλείται από την τάξη Object. Ο καλύτερος τρόπος εδώ θα ήταν να υλοποιήσεις την public String toString() εσύ με το τι ακριβώς θες να εκτυπώνει και μετά θα παίζει τέλεια με ένα απλό Sout του αντικειμένου.
Evgenios1 Δημοσ. 13 Δεκεμβρίου 2008 Δημοσ. 13 Δεκεμβρίου 2008 >public class Antallaktika { private String code, describe; private long quantity; //dimiourgia antikeimenou public Antallaktika (String cd, String dscb, long qty) { code = cd; describe = dscb; if (qty < 0) { System.out.println("AKIRI TIMI EISODOU. SAN TIMI EISODOU THEOREITAI H MIDENIKI"); quantity = 0; } if (qty > 2147483647) { System.out.println("IPERBOLIKA MEGALI TIMI EISODOU. SAN TIMI EISODOU 8EWREITAI H 2147483647"); quantity = 2147483647; } else quantity = qty; } αυτο λες object ?
elis88 Δημοσ. 13 Δεκεμβρίου 2008 Δημοσ. 13 Δεκεμβρίου 2008 Καλησπέρα. Τις πονεμένες τούτες μέρες είπα να κάτσω να κάνω ένα πρόγραμμα και έχω σκαλώσει. Σας παραθέτω Στη συνέχεια το κυρίως πρόγραμμα ας πούμε ότι είναι κάπως έτσι (η my.java ήταν έτοιμη class από cd σε βιβλίο που πήρα) Προφανώς είναι μέσα σε μιά επανάληψη αλλά who cares δεν είναι αυτό το θέμα. Λοιπόν, θα ήθελα να ρωτήξω πως εμφανίζω τα περιεχόμενα μιας θέσης ενός πίνακα από objects. (δεν εμφανίζει σωστό αποτέλεσμα με την system.out.print και με την toString νομίζω παίζει exception) Επίσης πως θα μπορούσα να αλλάξω για παράδειγμα την ποσότητα και στη συνέχεια να καταχωρήσω την αλλαγμένη μεταβλητή στον πίνακα. Ευχαριστώ για τον χρόνο σας. Για να πάρεις τα στοιχεία ενός αντικειμένου... στη συγκεκριμένη περίπτωση της Antallaktika πρέπει να φτιάξεις κάποις συναρτήσεις οι οποίες επιστρέφουν το περιεχόμενο των πεδίων. Χρειάζεσαι για κάθε πεδίο και μία τέτοια συνάρτηση. (Γνωστές και ως getters) Π.χ: > public String getCode() { return code; } Και έτσι για να το εκτυπώσεις αυτό μέσω ενός αντικειμένου κάνεις: > Antallaktika ant1 = new Antallaktika(String code,........); System.out.println(ant1.getCode()); Κι έτσι εκτυπώεις Αν θες να χρησιμοποιήσεις την toString() δεν έχεις παρα να την υλοποιήσεις στην τάξη Antallaktika κάπως έτσι: > public String toString() { return "Code: " + code + "Describe: "+describe+ "Quantity: " + quantity; } //*Αναλόως πως σε βολευέι και μετά για να το ακτυπώσεις δεν έχεις παρα να γράψεις απλά αυτό: */ Antallaktika ant1 = new Antallaktika(..........); System.out.println(ant1) ή System.out.println(ant1.toString()); /*Στην περίπτωση που απλά βάλεις το αντικέιμενο μεσα στο System.out.println εκτελεί αυτόματα το toString()*/
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.