Hilfe bei Java Scanner
Geizhals » Forum » Programmierung » Hilfe bei Java Scanner (9 Beiträge, 211 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Hilfe bei Java Scanner
02.04.2012, 15:34:42
Gelöst: Das Programm erwartet die deutschen Kommatrennzeichen "," nicht ".".
Eine Lösung: Programm ausführen mit
java -Duser.language=en -Duser.country=US AsciiShop





Es sollen Daten im Format

"Text Zahl Text Zahl ..."
oder
"Text Zahl
Text Zahl
Text Zahl"

eingelesen und als Diagramm ausgegeben werden. Bei den Zahlen kann es sich um int oder double handeln, was getrennt behandelt wird.

Meine Idee scheitert bei der Eingabe:
Den Umweg über int1 und double2 geh ich nur zur Fehlersuche.
Die if und die else if Bedingungen werden nie erfüllt, erkennbar daran, dass nie die Kontrollausgaben "int" oder "double" ausgegeben werden. Die beiden Bedingungen werden ignoriert, die Schleife fängt von vorne an. Wo liegt da der Fehler, was muss ich ändern, damit die Bedingungen den int oder double erkennen?



		Scanner scanner1 = new Scanner(System.in);
		String string1 = "";
		int int1 = 0;
		double double1 = 0;

		
		while(scanner1.hasNext())
		{	
			string1 = scanner1.next();
			System.out.println(string1);

			if(scanner1.hasNextInt())
			{
				int1 = scanner1.nextInt();
				System.out.println(drawBar(string1 , int1));
				System.out.println("int");
			}
			else if(scanner1.hasNextDouble())
			{
				double1 = scanner1.nextDouble();
				System.out.println(drawBar(string1 , double1));
				System.out.println("dubs");
			}
		}


Beispiel Eingabe

ColdMonths 0.8
WarmMonths 0.15
HotMonths 0.05

Das ganze Programm:
http://pastebin.com/LCuASiuD



ö
02.04.2012, 17:11 Uhr - Editiert von Diabolo2000, alte Version: hier
Antworten PM Übersicht Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung