我正在尝试这样做:
int n = myScanner.nextInt();
for(int i=0;i<n;i++){
String str = myScanner.nextLine();
.
.
.
}
当我编译时,它显示一些错误java.util.Scanner.nextInt(Scanner.java:2117)。
最初,我认为这是nextLine()的问题,所以我使用了next()。然后我发现在输入n后我是否添加myScanner.nextLine()
int n = myScanner.nextInt();
myScanner.nextLine();
然后工作正常。我想知道为什么会这样吗?
最佳答案
传递整数时,您需要使用输入的换行符:
int n = myScanner.nextInt(); //gets only integers, no newline
myScanner.nextLine(); //reads the newline
String str;
for(int i=0;i<n;i++){
str = myScanner.nextLine(); //reads the next input with newline
.
.
.
}