有人可以解释为什么我的字符串数组的第一个单元格中存储了一个空格吗?我试图将通过控制台输入的每一行存储到字符串数组中。
import java.util.Scanner;
public class ClassNameHere {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int numberOfLines = in.nextInt();
String[] lines = new String[numberOfLines];
for( int i = 0; i < numberOfLines; i++ ){
lines[i] = in.nextLine();
}
for( int i = 0; i < numberOfLines; i++ ){
System.out.println(lines[i]);
}
}
}
最佳答案
调用 in.nextInt()
后,第一次调用 in.nextLine()
将返回同一行的其余部分,因此它是空的。
您应该在循环之前添加对 in.nextLine()
的调用以使用该空行。
int numberOfLines = in.nextInt();
String[] lines = new String[numberOfLines];
in.nextLine(); // add this
for( int i = 0; i < numberOfLines; i++ ){
lines[i] = in.nextLine();
}
for( int i = 0; i < numberOfLines; i++ ){
System.out.println(lines[i]);
}
关于java - 为什么数组的第一个单元格中存储了一个空空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27125845/