我从我的教科书中复制了这个确切的代码,当我尝试运行它时它只会加载,文件位于java文件的相同位置,并且名称是正确的。我正在使用Dr. Java。所以我只是想知道为什么它不会运行,只是继续加载。我正在使用的书是Java Illuminated第3版。另外,newscores.txt文件只有10个数字,用空格分隔。
import java.util.Scanner;
import java.io.File;
import java.io.IOException;
public class TestScoresAndSummaryStatistics {
public static void main(String[] args) throws IOException {
int number;
File inputFile = new File("newscores.txt");
Scanner scan = new Scanner(inputFile);
while (scan.hasNext()); {
number = scan.nextInt();
System.out.println(number);
}
System.out.println("End of file.");
}
}
答案 0 :(得分:3)
你有一个分号结束的while语句。你应该删除它。因为这个分号你的while循环重复运行,你的代码在while循环中变成与循环分开的块。
while (scan.hasNext()); {
number = scan.nextInt();
System.out.println(number);
}
更改为
while (scan.hasNext()) {
number = scan.nextInt();
System.out.println(number);
}