【发布时间】:2018-10-10 18:37:09
【问题描述】:
我正在制作一个简单的 for 循环来遍历 ArrayList 并向其中添加对象,但是当我输入我的第一个对象时没有任何反应。看起来程序没有继续循环。这是我所拥有的:
for (int i = 0; i < (numPlayers.nextInt()-1); i++){
System.out.println("what is player " + (i + 1) + " name?");
Scanner namePlayer = new Scanner(System.in);
String playerName = namePlayer.nextLine();
playerList.add(new Player(playerName));
}
播放器对象的构造函数也很简单
public Player(String name) {
this.name = name
}
【问题讨论】:
-
请提供minimal reproducible example。
numPlayers是什么? -
将
Scanner namePlayer = new Scanner(System.in);移出for循环 -
无论
numPlayers是什么,看起来它在每次循环迭代时都会提供一个新值。你提供的第二个值是多少?如果该值小于 2,则循环将按照指示终止。 -
每次调用
nextInt()时都会读取一个新的 int。我假设您打算将numPlayers.nextInt()放入一个局部变量中,因此它只被调用一次。