gicio Geschrieben 19. November 2001 Geschrieben 19. November 2001 ich wollte was von der tastatur einlesen und es in person01.setName eingeben... aber es klappt nicht! // Datei Test.java import java.util.*; import java.io.*; public class Test { //leerer Konstruktor Test() { } public static void main (String[] args) { // Bestandsteile der Person werdern definiert // Das Objekt PersonAddress wird mit den Person zusammengefügt Vector v = new Vector(); Person person01 = new Person(); BufferedReader eingabe = new BufferedReader(new InputStreamReader (System.in)); try { System.out.println("Bitte Geben Sie den Namen ein :"); person01.setName(eingabe) = readLine(); } catch(IOException e) { System.out.print("Fehler bei der Eingabe!"); } Enumeration e; Person currentPerson; System.out.println("\n\n Name\t "); for (e = v.elements() ; e.hasMoreElements() ; ) { currentPerson = (Person)e.nextElement(); System.out.println( currentPerson.name() ); } } } dieser fehler wird mir angezeigt: Test.java:37: setName(java.lang.String) in Person cannot be applied to (java.io. BufferedReader) person01.setName(eingabe) = readLine(); ^ Test.java:37: cannot resolve symbol symbol : method readLine () location: class Test person01.setName(eingabe) = readLine(); ^ 2 errors was mach ich falsch? thx gicio Zitieren
gicio Geschrieben 19. November 2001 Autor Geschrieben 19. November 2001 hab auch das vesucht und es klapt aucht nicht!! // Datei Test.java import java.util.*; import java.io.*; public class Test { //leerer Konstruktor Test() { } public static void main (String[] args) { // Bestandsteile der Person werdern definiert // Das Objekt PersonAddress wird mit den Person zusammengefügt Vector v = new Vector(); Person person01 = new Person(); String tastatur = readLine(); try { System.out.println("Bitte Geben Sie den Namen ein :"); person01.setName(tastatur) = readLine(); } catch(IOException e) { System.out.print("Fehler bei der Eingabe!"); } Enumeration e; Person currentPerson; System.out.println("\n\n Name\t "); for (e = v.elements() ; e.hasMoreElements() ; ) { currentPerson = (Person)e.nextElement(); System.out.println( currentPerson.name() ); } } } Zitieren
makii Geschrieben 19. November 2001 Geschrieben 19. November 2001 Sersn, versuchts mal damit: person01.setName( eingabe.readLine() ); du musst natürlich die methode readLine() im BufferedReader aufrufen!!! der setter setName( String newName ) benötigt als parameter einen String und keinen BufferedReader!!!! Wenn ihr du ihm irgendeinen String geben würdest würde er javac spätestens bei dem aufruf der methode readline() meckern, da er, ohne ein vorangestelltes Objekt, die methode in this (objekt in dem der code gerade ausgeführt wird) suchen würde. die findet er natürlich nicht! Frohes Üben!!!!!! Cheers, Ralf PS: ich hab's nicht getestet, ansonsten nochmal melden! Zitieren
gicio Geschrieben 20. November 2001 Autor Geschrieben 20. November 2001 meinst du das so: Person person01 = new Person(); BufferedReader eingabe = new BufferedReader(readLine() ); try { System.out.println("Bitte Geben Sie den Namen ein :"); person01.setName(eingabe.readLine()) = readLine(); } Zitieren
gicio Geschrieben 20. November 2001 Autor Geschrieben 20. November 2001 bei den aufruf bekomme ich diese fehlermeldung: C:\Java\Project>javac Test.java Test.java:29: cannot resolve symbol symbol : method readLine () location: class Test BufferedReader eingabe = new BufferedReader(readLine() ); ^ Test.java:38: unexpected type required: variable found : value person01.setName(eingabe.readLine()) = readLine(); ^ Test.java:38: cannot resolve symbol symbol : method readLine () location: class Test person01.setName(eingabe.readLine()) = readLine(); ^ 3 errors Zitieren
gicio Geschrieben 20. November 2001 Autor Geschrieben 20. November 2001 hmmmmmmmmmmmmmm ich glaub das ist die beste lösung! BufferedReader eingabe = new BufferedReader(new InputStreamReader (System.in) ); String eingabeZeile; try { System.out.println("Bitte Geben Sie den Namen ein :"); eingabeZeile = eingabe.readLine(); person01.setName( eingabe.readLine() ); } catch(IOException e) { System.out.print("Fehler bei der Eingabe!"); } oder was meint ihr??? thx gicio Zitieren
gicio Geschrieben 20. November 2001 Autor Geschrieben 20. November 2001 das hat jetzt zwar geklapt, aber er zeigt mir nicht an das ich das was ich eingelesen habe in ein vektor gelegt habe. // Datei Test.java import java.util.*; import java.io.*; public class Test { public static void main (String[] args) { // Bestandsteile der Person werdern definiert // Das Objekt PersonAddress wird mit den Person zusammengefügt Person person01 = new Person(); BufferedReader eingabe = new BufferedReader(new InputStreamReader (System.in) ); String tastatur; try { System.out.println("Bitte Geben Sie den Namen ein :"); tastatur = eingabe.readLine(); person01.setName( eingabe.readLine() ); } catch(IOException e) { System.out.print("Fehler bei der Eingabe!"); } Vector v = new Vector(); v.addElement(person01.name() ); Enumeration e; Person currentPerson; System.out.println("\n\n Name\t "); for (e = v.elements() ; e.hasMoreElements() ; ) { currentPerson = (Person)e.nextElement(); System.out.println( currentPerson.name() ); } } } Zitieren
spruce257 Geschrieben 20. November 2001 Geschrieben 20. November 2001 Im Codde schreibst Du: try { tastatur = eingabe.readLine(); person01.setName( eingabe.readLine() ); } Das Problem ist, dass der Buffer durch die erste Zeile bereits ausgelesen wird... d. h., wenn Du das zweite mal eine Zeile auslesen willst, liest Du bereits die nächste aus... und da steht nichts drin! Deine aktuelle Eingabe wurde allerdings schon in der ersten Zeile im String tastatur gespeichert, also musst Du folgendes in der zweiten Zeile schreiben: person01.setName(tastatur); ... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.