当我运行它时,输出是:
“请输入你的名字” 我输入了
“请输入学号” 我输入了
“请输入学生姓名”
“请输入学号”
String nameChoice = "";
do{
System.out.println("Please input the students name");
String name = s.nextLine();
nameChoice = name;
System.out.println("Please enter that students number");
int studentNo = s.nextInt();
}while(!nameChoice.equalsIgnoreCase("done"));
答案 0 :(得分:1)
这是因为s.nextInt()
只读取输入的整数,而不读取输入的整数后的换行符。因此,您可以添加s.nextLine()
来读取该换行符。
这样做:
int studentNo = s.nextInt();
s.nextLine();
如果您不这样做,下一个nextLine()
方法将用于读取您输入的换行符。
避免此问题的另一种方法是使用nextLine()
进行阅读并将其解析为integer
。
int studentNo = Integer.parseInt(s.nextLine());