2016-11-29 3 views
1

Ich habe Fehler von meinem Code,warum java BufferedReader verpassen Ausgang

BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); 

System.out.print("a = "); 
int a=in.read(); 
System.out.print("b = "); 
int b=in.read(); 

System.out.print(" = "+a); 
System.out.print("b = "+b); 

ich versuche, um 1, und ich verstehe nicht, warum das Ergebnis so?

a = 1 

b =  = 49b = 13 

Wohin geht der zweite Eingang? so etwas wie dieses

+1

in.read() liest ein Zeichen. Durch Drücken der Eingabetaste werden je nach Betriebssystem ein oder zwei Zeichen gesendet. Sie müssen diese auch lesen. – VGR

+0

oke, ich verstehe, danke – jaro21

Antwort

2

Sie können versuchen:

a = in.readLine(); 
System.out.print("b = "); 
String b=in.readLine(); 
int aInt = Integer.valueOf(a); 
int bInt = Integer.valueOf(a); 
System.out.print("a = "+aInt); 
System.out.print("b = "+bInt); 

read() liest Zeichen für Zeichen, so wird Newline als neues Zeichen gezählt werden. Um mehr darüber zu lesen, können Sie here lesen.

+1

oke, seine Arbeit .. um Daten vom Eingang zu konvertieren, Thks – jaro21