2013-12-03 3 views
0

Я играл с этим кодом в течение часа, пытаясь заставить его принимать только целые числа. Atm, когда вы вводите символ, цикл бесконечен, я, похоже, не могу продвигаться отсюда.целочисленный ввод только во время цикла, застрял бесконечный цикл

do 
{ 
    System.out.println("Enter student's number: "); 
} 
while (!in.hasNextInt()); 
number = in.nextInt(); 

Любая помощь будет очень признательна. Thanks

+2

Поместите вызов 'nextInt' внутри цикла. – Reimeus

+0

Я сделал это, и теперь он сработает, когда я ввожу символ вместо числа – user3050340

+1

@ user3050340 Затем появляется описательное сообщение об ошибке. – keyser

ответ

1

while (! In.hasNextInt());

Здесь in.hasNextInt() дает вам true когда in имеет следующий элемент в потоке как int. Если это не int, он вернется false.

!false = true, что проекты:

while(true); 

это приводит к бесконечному циклу.

Надеюсь, вы поняли.

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