Я пишу этот блок кода для запуска три раза. И каждый раз, когда пользователь вводит нецелое значение, тогда внутреннее время прерывается.Буфер сканера не очищается
while(i<=2)
{
total=0;
numOfint=0;
while (true)
{
System.out.print("Please enter an integer");
if(!in.hasNextInt())
{break;}
else
{
total+=in.nextInt();
numOfint+=1;
}
}
avg[i]=new Average();
avg[i].numb_ints=numOfint;
avg[i].total_ints=total;
System.out.println("Stats for average "+i+". Number of ints : "+avg[i].numb_ints+" Total : "+avg[i].total_ints+" Average: "+avg[i].avg_ints());
i++;
}
Проблема в том, что она работает только 1 раз. и второй раз он просто пропускает внутренний цикл while. Я думаю, что в буфере сканера есть последнее нецелое значение, которое не очищается. Пожалуйста, помогите мне в этом.
условие цикла в то время (правда) будет исполнены навсегда? – drgPP