Veröffentlicht 19. November 200123 j 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
19. November 200123 j 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() ); } } }
19. November 200123 j 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!
20. November 200123 j 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(); }
20. November 200123 j 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
20. November 200123 j 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
20. November 200123 j 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() ); } } }
20. November 200123 j 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); ...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.