Java中的迭代器

Java中的迭代器,java,iterator,Java,Iterator,我在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++;

我在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++;
  }
其中,
>
是用户输入的文本

有人能解释为什么会发生这种情况吗?

不会使用
'\n'
字符(插入
int
后按的enter键),场景:

>>> How many names do you want to enter?
>>> 5 (and hit enter)
>>> Enter name number 
>>> \n (consumed)
>>> 
解决方案:

  • 将另一个
    nextLine
    放在
    nextInt
    后面,以便使用该字符
  • (不建议使用,但可能有助于您了解问题)请使用另一个
    扫描仪
    实例

Hmm,如何向扫描仪对象添加第二条指令?
>>> How many names do you want to enter?
>>> 5 (and hit enter)
>>> Enter name number 
>>> \n (consumed)
>>>