2016-05-04 2 views
-1
char grade; 
    for(int x=1; x<6; x++){ 
     System.out.print("Please enter your course grade here: "); 
     grade = (char) System.in.read(); 
    } 
    System.out.println("Thank you! Keep up the good work!"); 
} 

Так что это мой код, кажется правильным, но это результат.Код двойной печати a

Please enter your course grade here: A 
Please enter your course grade here: Please enter your course grade here: A 
Please enter your course grade here: Please enter your course grade here: A 
Thank you! Keep up the good work! 

Кстати, я ввел A. Так у кого-нибудь из вас есть идея, почему это происходит?

+0

'для vs while'. –

+0

используйте сканер, чтобы получить вход .... он заблокирует последовательность, пока пользователь не даст вход ... –

+0

Это для школы, и мой учитель только хочет, чтобы я использовал чтение и для циклов. – mobinblack

ответ

0

Вы можете попробовать это:

char grade; 
for(int x=1; x<6; x++){ 
    System.out.print("Please enter your course grade here: "); 
    grade = (char) System.in.read(); 
    while (grade == '\n') 
     grade = (char) System.in.read(); 
} 
System.out.println("Thank you! Keep up the good work!"); 
} 

Но это не тестировалась. Теоретически он должен игнорировать любые новые строки.

+0

Большое вам спасибо! – mobinblack

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