即时学习java和目前即时通讯卡在一个练习中,我无法理解为什么代码的行为是这样的。我在纸上寻找我的步骤,但我期望与程序实际上不同的答案。如果任何人都可以请解释为什么它做什么,它简单的while循环练习
CODE:
System.out.print("Enter an integer: ");
int numb = in.nextInt();
while (in.hasNextInt())
{
System.out.println(numb);
System.out.print("Enter an integer: ");
numb = in.nextInt();
}
测试仪是刚刚进入的数字,所以输出应该是这样的:
Enter an integer: 5
- 5
- Enter an integer: 10
- 10
- Enter an integer: 8
- 8
- Enter an integer: k
...
但它看起来是这样的:
Enter an integer: 5
- 10
- 5
- Enter an integer: -4
- 10
- Enter an integer: 8
- -4
- Enter an integer: -6
- 8
- Enter an integer: 11
- -6
- Enter an integer: -1
基本上,'hasNextInt'看起来_ahead_以查看_next_'nextInt'是否可能;它并没有看到后面的'nextInt'是否工作。 – ajb