在while循环中获取多个输入时出现java错误
我在循环中输入name和num时出错
int i = 1;
while(i <3) {
System.out.print("Please enter name: ");
String name = input.nextLine();
System.out.print("Please enter number: ");
int num = input.nextInt();
i++;
}
我得到的错误是这个
在第一次迭代中,输入是正常的,但是在第二次迭代中,它在同一行打印enternum和name。谁能向我解释一下为什么会这样
# 1 楼答案
调用
nextInt()
时,只读取整数,但还应读取一个新行字符。 因此,在循环结束时,调用input.nextLine()
读取新行。。然后循环的其余部分应该可以正常工作# 2 楼答案
https://stackoverflow.com/a/26626204/14951486
已经回答了
参考链接
错误,因为您在int之后接受字符串输入