BufferedReader für Char?

  • Themenstarter Themenstarter Bracador
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

Bracador

Gast
Hey Leute
Ich hab da ein Problem.
Wenn ich Integerwerte einlesen will, verwende ich:

BufferedReader din = new BufferedReader(
new InputStreamReader(System.in));
int wert = Integer.parseInt(din.readLine());

Das funktioniert ja auch für alle anderen Datentypen, ausser für char....

Kennt ihr einen Weg mit BufferedReader ein Literal vom Typ char einzulesen, z.b char wert = ....


Danke im Voraus
Mfg
Bracador
 
Ich meinte für alle, weil Float.parseFloat oder Double.parseDouble ...
In der Form char "character = (char)din.read();" ist ja zulässig, oder?

Mfg
Bracador
 
Ok, analog dazu ist ein neues Problem aufgetreten.

Code:
//Input for starting-coordinates
			if(turn)
				System.out.println("Lower case!");
			else
				System.out.println("Upper case!");
			System.out.println("Please enter the field where you want to start!");
			System.out.print("Number(1-8): ");
			numberinput[0] = Integer.parseInt(din.readLine());
			System.out.print("Character(a-h): ");
			charinput[0] = (char)din.read();
			chartonumber[0] = (int)charinput[0] - 96;
			chartonumber[0]--;
			numberinput[0]--;
			
			//Input for destination-coordinates
			System.out.println("Please enter the field where you want to go!");
			System.out.print("Number(1-8): ");
			String blank1 = din.readLine();
			numberinput[1] = Integer.parseInt(din.readLine());
			System.out.print("Character(a-h): ");
			charinput[1] = (char)din.read();
			String blank2 = din.readLine();
			chartonumber[1] = (int)charinput[1] - 96;
			chartonumber[1]--;
			numberinput[1]--;
Wenn ich die Zeile
Code:
String blank1 = din.readLine();
entferne, kommt folgende Fehlermeldung:
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at chess.main(chess.java:247)

Ich bin mir sicher, dass es etwas mit din.read() zu tun hat.

Mfg
Bracador
 
Ich hab die beiden String = din.readLine() eingefügt, eben weil ich diesen Fehler umgehen wollte.
Nach der eingabe der ersten beiden Werte hat er automatisch bei Integer.praseInt folgendes eingefügt: "", also blank.

Mfg
Bracador
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben