我正在做作业,我必须使用nextLine()方法读取输入。当我复制所有输入行并将其粘贴到控制台时,该程序不会读取最后一行。我怎么解决这个问题。
我需要的 :
line1
line2
line3
我得到什么:
line1
line2
这是我的代码
public class Name{
public static void main(String [] args){
Scanner scn = new Scanner(System.in);
str = scn.nextLine();
while(scn.hasNextLine()){
.
.
.
str = scn.nextLine();
}
scn.close();
}
}
最佳答案
我没有任何理由检查null
-您应该使用scn.hasNextLine()
代替,当Scanner
文件中没有更多行可供读取时,它将停止迭代。
这是一个代码示例-我们将System.in
的读数移入循环,并添加停止条件,这样就不会出现无限循环。
Scanner scn = new Scanner(System.in);
String str;
while(scn.hasNextLine()){
str = scn.nextLine();
System.out.println(str);
if(str.equalsIgnoreCase("stop")) {
break;
}
}
关于java - 如何使用Scanner.nextLine()读取最后一行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22746266/