jordaninio Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 γεια σας παιδια..εχω ξεκινησει τα πρωτα μου βηματα στην java για αυτο θα ηθελα κατανόηση!για μια ασκηση που εχω προσπαθω να κανω την παρακατω κλαση που θα διαβαζονται καποιες μεταβλητες.δυο ερωτησεις.πρωτον αν η θεση του system.out.println κλπ ειναι η σωστη και επισης μου βγαζεις error στο import λεγοντας Import section does not correspond to the specified code style rules.ευχαριστώ! >import java.util.Scanner; public class Aircraft { public int codeAir; public String typeAir; public int crewAir; public Aircraft(int code, String type,int crew) { codeAir=code; typeAir=type; crewAir=crew; } public void setCodeAir(int code ) { System.out.println("please enter aircraft code"); int codeAir = input.nextLine(); codeAir=code; } public int getCodeAir() { return codeAir; } public void setTypeAir(String type) { typeAir=type; } public String getTypeAir() { return typeAir; } public void setCrewAir(int crew) { crewAir=crew; } public int getCrewAir() { return crewAir; } }
TheOneGandalf Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 Με μια γρήγορα ματιά στον κώδικα δεν βλέπω να έχεις δημιουργήσει αντικείμενο Scanner, ωστόσο χρησιμοποιείς μια μεταβλητή με όνομα input. Μάλλον ξέχασες να δημιουργήσεις > Scanner input = new Scanner(System.in); Βάλε το παραπάνω κομμάτι κώδικα εκεί που δηλώνεις τις μεταβλητές σου. Το import σωστό είναι. Όσο για την πρώτη ερώτηση τι εννοείς αν είναι σε σωστή θέση το print? Επίσης έχεις φτιάξει κλάση που να περιέχει την main method?
jordaninio Δημοσ. 14 Ιουνίου 2012 Μέλος Δημοσ. 14 Ιουνίου 2012 ακομα κανω τις κλάσεις πριν μπω στην main.εννοω αν τo print μπαινει εκεί στην get ή καπου άλλου πχ στην set.εκανα οτι μου ειπες εφυγε το error απο την Import απλα στο input.nextLine() μου γραφει αυτό cannot find symbol symbol: variable input location: class javaapplication1.Aircraft
TheOneGandalf Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 Απο αυτήν την άποψη μου φαίνεται λάθος να το βάλεις στην μέθοδο set. Εγω π.χ τι θα έκανα : Στη μέθοδο main θα ζητούσα απο το χρήστη να δώσει την τιμή για το codeAir θα το αποθήκευα σε κάποια μεταβλητή π.χ code και θα έγραφα >ObjectName.setCodeAir(code); και την μέθοδο setCodeAir θα την έγραφα ως εξής : > public void setCodeAir(int codeAir) { this.codeAir = codeAir; } ή αν δεν έχεις μάθει ακόμα για το this > public void setCodeAir(int code) { codeAir = code; } H άλλη λύση είναι να φτιάξεις μία μέθοδο κλάσης(static) με την οποία θα πέρνεις την είσοδο απο το χρήστη. Τι εννοώ > public static int readCodeAir() { System.out.println("Please enter Aircraft code"); Scanner input = new Scanner(System.in); int codeAir = input.nextInt(); return codeAir; } Και μέσα στην maim μέθοδο θα έγραφες > int code = readCodeAir(); setCodeAir(code); Και είσαι έτοιμος! Τώρα για το σφάλμα που λες, στο βγάζει νομίζω επειδή χρησιμοποιείς την μέθοδο readLine() η οποία διαβάζει strings ενώ εσύ πας να αποθηκεύσεις το αποτέλεσμα σε έναν ακέραιο. Σε αυτήν την γραμμή δηλαδή >int codeAir = input.nextLine();
p8grs Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 ακομα κανω τις κλάσεις πριν μπω στην main.εννοω αν τo print μπαινει εκεί στην get ή καπου άλλου πχ στην set.εκανα οτι μου ειπες εφυγε το error απο την Import απλα στο input.nextLine() μου γραφει αυτό cannot find symbolsymbol: variable input location: class javaapplication1.Aircraft Στο input.nextLine() σβησε το Line και καντο input.next(). Αυτο διαβαζει μονο ενα string ενω αυτο που εγγραψες εσυ διαβαζει μεχρι να βρει κενο χαρακτηρα. Επισης αυτο που εγγραψες εσυ πρεπει αμεσως μετα να εχεις την εντολη String junk = input.next(); γιατι ο κενος χαρακτηρας απο την input.nextLine() θα σου κανει ολα τα scanner χαλια. Σε αυτήν την γραμμή δηλαδήint codeAir = input.nextLine(); Γιατι να μην γραψει int codeAir = input.nextInt(); ?
TheOneGandalf Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 Αυτο τον προτρέπω να γράψει αν δεις πιο πάνω. Σε αυτήν την πρόταση απλά του επισημαίνω που ακριβώς είναι το σφάλμα(Τι έχει γράψει δηλαδή αυτός..)
p8grs Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 Αυτο τον προτρέπω να γράψει αν δεις πιο πάνω. Σε αυτήν την πρόταση απλά του επισημαίνω που ακριβώς είναι το σφάλμα(Τι έχει γράψει δηλαδή αυτός..) Οκ δεν το ειδα γτ ειμαι απο smartphone στο insomnia
jordaninio Δημοσ. 15 Ιουνίου 2012 Μέλος Δημοσ. 15 Ιουνίου 2012 ρε παιδια θα τρελαθω..αυτο το απλό γιατί δεν μου το τρέχει? >public class program { public static void main (String args []) { System.out.println ("Parakalo pliktrologiste:\n 1. gia diaxeirisi ptiseon,aeroskafon kai dromologion tis etairias" + "\n 2.xrisi ipiresion tis etairias" + "\n 3.gia exodo"); } }
TheOneGandalf Δημοσ. 15 Ιουνίου 2012 Δημοσ. 15 Ιουνίου 2012 ρε παιδια θα τρελαθω..αυτο το απλό γιατί δεν μου το τρέχει? >public class program { public static void main (String args []) { System.out.println ("Parakalo pliktrologiste:\n 1. gia diaxeirisi ptiseon,aeroskafon kai dromologion tis etairias" + "\n 2.xrisi ipiresion tis etairias" + "\n 3.gia exodo"); } } Τι σφάλμα σου βγάζει? Σωστό μου φαίνεται..
jordaninio Δημοσ. 15 Ιουνίου 2012 Μέλος Δημοσ. 15 Ιουνίου 2012 αστο μαλακιες του netbeans το βρηκα τελικά.θενκς πάντως
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα