2016-11-29 2 views
1

я получил ошибку из моего кода,почему выход Java BufferedReader мисс

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

я пытаюсь ввести 1, и я не понимаю, почему результат, как это?

a = 1 

b =  = 49b = 13 

Где находится второй вход?

+1

in.read() считывание один знак. При нажатии клавиши «Ввод» будет отправлен один или два символа в зависимости от вашей операционной системы; вы тоже должны это прочитать. – VGR

+0

oke, я понимаю, спасибо – jaro21

ответ

2

Вы можете попробовать что-то вроде этого:

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() читает посимвольно, поэтому новая строка будет считаться новым персонажем. Чтобы узнать больше об этом, вы можете прочитать here.

+1

oke, его работа .. для преобразования данных типа с входа, thks – jaro21

Смежные вопросы