Zum Inhalt springen

einlesen von tastatur??????


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

		}

	}






}

 

Geschrieben

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!!!!!! :D

Cheers,

Ralf

PS: ich hab's nicht getestet, ansonsten nochmal melden!

Geschrieben

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


		}

 

Geschrieben

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

Geschrieben

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

Geschrieben

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

		}

	}






}

 

Geschrieben

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

...

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...