java为什么println()方法要执行两次而不是一次?
public class HashMapTest2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("Enter total player");
Integer p = s.nextInt();
System.out.println("Enter total Team");
Integer t = s.nextInt();
List<String> listp = new ArrayList<>();
for (int i = 1; i<p; i++){
System.out.println("Enter Player name "+i);
listp.add(s.nextLine());
}
List<String> listt = new ArrayList<>();
for (int i = 1; i<t; i++){
System.out.println("Enter Team name "+i);
listt.add(s.nextLine());
}
}
}
我得到了一些奇怪的输出,如下所示:
Enter total player
3
Enter total Team
2
Enter Player name 1
Enter Player name 2
pari
Enter Team name 1
为什么程序要求我输入两次玩家的名字 这是它第一次两次询问球员的名字,我不知道为什么。有办法解决这个问题吗
# 1 楼答案
当您使用
nextInt()
时,会读取整数值,但不会读取行尾字符(Return/Enter),请将代码更改为使用nextLine()
进行正确处理,如下所示