这是代码:
Scanner s = new Scanner(System.in);
System.out.print("Enter the number of lines : ");
int a = s.nextInt();
String[] array = new String[a];
for (int i = 0 ; i < array.length; i++) {
System.out.print("Enter line " + i + " : ");
array[i] = s.nextLine();
System.out.println();
}
首次运行后(如果a设置为4):
输入行数:4
输入第0行:
输入第1行:test1
输入第2行:test2
输入第3行:test3
它自己滑过0号线..为什么?
答案 0 :(得分:2)
第一行中未读\n
的原因在for循环之前添加nextLine()
假设您的程序输入
4\n
test1\n
test2\n
test3\n
test4\n
在行int a = s.nextInt();
中,您从输入中读取了一个整数,a
等于4
,但\n
仍然存在于输入中,可读输入更改为此
\n
test1\n
test2\n
test3\n
test4\n
之后你第一次想要读取一行Scanner
向前移动直到达到\n
个字符,并且在你的输入中\n
是输入中的第一个字符{{1}读取空行,可读输入更改为
Scanner
下一个test1\n
test2\n
test3\n
test4\n
返回readLine
并将输入更改为此
test1