我是一年级计算机科学学生,我正在做一项作业,但我遇到了这个不会停止的 while 循环...
import java.io.*;
import java.util.Scanner;
class Ass1{
public static void main(String[] args){
int i=0;
try{
File myfile = new File ("./ages.txt");
Scanner scanner = new Scanner(myfile);
while(scanner.hasNext()){
i++;
}
System.out.println("ages.txt contains " + i + " lines");
scanner.close();
}catch(IOException e){}
}
}
年龄.txt 文件如下所示(它们应该全部位于单独的行中,但不知何故我只能在此处将它们显示在一行中:( )
200 201 第202章 203 205 205 207 208 210 213 214 217 218 219 219 221 225 226 227 227 第231章 第232章 238 238 240 309 313 314
我试图从文本文件中读取所有行,并在最后打印它包含的行数。
预先感谢您的帮助。
最佳答案
您需要通过调用 scanner.next();
来升级扫描仪
如果您要计算行数,最好分别使用 scanner.hasNextLine()
和 scanner.nextLine()
。
按照您的编写方式,scanner.hastNext()
将始终评估为 true,因为扫描仪从未真正离开其初始位置,因此总会有一个 hasNext()
关于java扫描仪while循环不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19437356/