我遇到了一个在Java中难以理解的异常情况。
在我的主类中,我有以下代码:
(import java.util.*;)
...
Scanner input = new Scanner(System.in);
String name;
int i = 1;
System.out.println("How many names do you want to enter?");
int iteratorCount = input.nextInt();
iteratorCount++;
while (i < iteratorCount){
System.out.println("Ener name number "+i);
name = input.nextLine();
System.out.println(name);
i++;
}
但是在 while 循环的第一次迭代中,我没有被要求输入一个名称。然而,“输入第一个名称”文本确实出现了。以下是输出:
How many names do you want to enter?
>>5
Ener name number 1
Ener name number 2
>>Jack
Jack
Ener name number 3
>>John
John
Ener name number 4
>>Lisa
Lisa
Ener name number 5
>>Paul
Paul
这是为什么发生的,有人能解释一下吗?其中>>
表示用户输入的文本。