扫描程序的Java意外输出

时间:2014-04-14 21:09:23

标签: java java.util.scanner

有谁可以告诉我为什么以下产生它的输出?

System.out.print("Enter an integer: ");
int number = in.nextInt();
System.out.println(number);
while(in.hasNextInt())
{
   System.out.print("Enter an integer: ");
   number = in.nextInt();
   System.out.println(number);
}

输出类似于:

    Enter an integer: 5
    5
    10
    Enter an integer: 10
    16
    Enter an integer: 16
    ...

我知道我可以通过反转print语句来实现我想要的(通过询问用户输入整数输入并打印输入)......但为什么会这样呢?任何智慧都非常赞赏!

1 个答案:

答案 0 :(得分:2)

这就是为什么你得到那个输出:

System.out.print("Enter an integer: ");
int number = in.nextInt();   //Waits for user input
System.out.println(number);
while(in.hasNextInt())       //Waits for another user input
{
   System.out.print("Enter an integer: ");
   number = in.nextInt();
   System.out.println(number);
}