Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

γεια σας παιδια..εχω ξεκινησει τα πρωτα μου βηματα στην 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;
}
       

}

Δημοσ.

Με μια γρήγορα ματιά στον κώδικα δεν βλέπω να έχεις δημιουργήσει αντικείμενο Scanner, ωστόσο χρησιμοποιείς μια μεταβλητή με όνομα input. Μάλλον ξέχασες να δημιουργήσεις :P

>
Scanner input = new Scanner(System.in);

Βάλε το παραπάνω κομμάτι κώδικα εκεί που δηλώνεις τις μεταβλητές σου. Το import σωστό είναι. Όσο για την πρώτη ερώτηση τι εννοείς αν είναι σε σωστή θέση το print? Επίσης έχεις φτιάξει κλάση που να περιέχει την main method?

Δημοσ.

ακομα κανω τις κλάσεις πριν μπω στην main.εννοω αν τo print μπαινει εκεί στην get ή καπου άλλου πχ στην set.εκανα οτι μου ειπες εφυγε το error απο την Import απλα στο input.nextLine() μου γραφει αυτό cannot find symbol

symbol: variable input

location: class javaapplication1.Aircraft

Δημοσ.

Απο αυτήν την άποψη μου φαίνεται λάθος να το βάλεις στην μέθοδο 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);

 

Και είσαι έτοιμος! :P

 

Τώρα για το σφάλμα που λες, στο βγάζει νομίζω επειδή χρησιμοποιείς την μέθοδο readLine() η οποία διαβάζει strings ενώ εσύ πας να αποθηκεύσεις το αποτέλεσμα σε έναν ακέραιο. Σε αυτήν την γραμμή δηλαδή

>int codeAir = input.nextLine();

Δημοσ.
ακομα κανω τις κλάσεις πριν μπω στην main.εννοω αν τo print μπαινει εκεί στην get ή καπου άλλου πχ στην set.εκανα οτι μου ειπες εφυγε το error απο την Import απλα στο input.nextLine() μου γραφει αυτό cannot find symbol

symbol: 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();

?

Δημοσ.

Αυτο τον προτρέπω να γράψει αν δεις πιο πάνω. Σε αυτήν την πρόταση απλά του επισημαίνω που ακριβώς είναι το σφάλμα(Τι έχει γράψει δηλαδή αυτός..)

Δημοσ.
Αυτο τον προτρέπω να γράψει αν δεις πιο πάνω. Σε αυτήν την πρόταση απλά του επισημαίνω που ακριβώς είναι το σφάλμα(Τι έχει γράψει δηλαδή αυτός..)

 

Οκ δεν το ειδα γτ ειμαι απο smartphone στο insomnia :-)

Δημοσ.

ρε παιδια θα τρελαθω..αυτο το απλό γιατί δεν μου το τρέχει?

 

>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");

   }
}

Δημοσ.

ρε παιδια θα τρελαθω..αυτο το απλό γιατί δεν μου το τρέχει?

 

>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");

   }
}

 

Τι σφάλμα σου βγάζει? Σωστό μου φαίνεται..

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...