java 中的整数后输入字符串出错
error in taking input string after integer in java
我正在尝试这样做:
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
.
.
.
}
流中有一个换行符。使用@moffeltje 的代码或者试试这个:
int n = Integer.parseInt(myScanner.nextLine());
for(int i=0;i<n;i++){
String str = myScanner.nextLine();
.
.
.
}
我正在尝试这样做:
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
.
.
.
}
流中有一个换行符。使用@moffeltje 的代码或者试试这个:
int n = Integer.parseInt(myScanner.nextLine());
for(int i=0;i<n;i++){
String str = myScanner.nextLine();
.
.
.
}