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

...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...