在java中使用for循环向数组添加名称
我正在编写一个代码,要求用户输入玩家的名字,并将它们存储在数组中。为了做到这一点,我使用了一个for循环,我认为这会更有效,但是,代码似乎做了一些意想不到的事情,我看不出它为什么要这样做。以下是代码和结果:
Scanner reader = new Scanner (System.in);
System.out.print("Please enter the number of players:");
int players = reader.nextInt();
String[] player_name = new String[players+1];//Array to store player names
for (int i = 0; i < players; i++)//Loop to ask players their name
{
System.out.print("Player " + (i+1) + " please enter your name:\n");//Asks player names one by one
player_name[i] = reader.nextLine();//Saves the player names to the array
}
当玩家数量为2时,结果如下:
Please enter the number of players:2
Player 1 please enter your name:
Player 2 please enter your name:
wa
BUILD SUCCESSFUL (total time: 23 seconds)
当我在输入“name”wa后按enter键输入播放器2的名字时,程序就结束了
# 1 楼答案
nextInt()不会获取行尾字符,即输入数字后的“回车”。相反,您可以使用nextLine()获取整行,然后将其解析为如下所示的整数