这个问题已被提出,但我不清楚答案。
请检查下面的代码。我在控制台中粘贴多行而不按 enter 按钮。 Scanner
没有读到最后一行,但是当我按输入时,它会读取它。
我的意见是:
2
4 3
-1 -3 4 2
4 2
0 -1 2 1
输出out out:
243-1-34242
当我按回车键时,它显示最后一行。
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
while(scan.hasNext())
{
System.out.print(scan.next());
}
}
请在Eclipse中尝试。
答案 0 :(得分:0)
请尝试System.out.print(scan.nextLine());
。
答案 1 :(得分:0)
您也可以使用BufferedReader读取每一行并解析以获取int
s(如果需要) -
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = input.readLine()) != null && line.length()!= 0) {
String[] ints = line.split(" "); //ints contains all integers only
//for the current line
}
答案 2 :(得分:0)
我不确定我是否理解这个问题。总之...
您的数据样本在每行末尾包含一个换行符,告诉扫描器该行已结束(最后一行除外)。您应该在最后一行添加换行符,或按Enter键告诉扫描器输入已结束。