从文件读取以求平均,但它会跳过while循环

时间:2018-12-06 17:13:44

标签: java file

我正在尝试简单地读取一个完全用整数填充的文件。每行有一个整数,我需要取所有这些整数并找出平均值。我已经编写了代码来执行此操作,但它对我不起作用。

但是,当我将其发送给我的老师时,她使用了BlueJ并成功了(我使用了IntelliJ和Eclipse)。我不知道我的代码有什么问题,它只是跳过了while循环。该文件是.txt.dat

public class Reader {
    private int total, num;
    private static String file;

    public Reader(String f){
        num = 1;
        total = 0;
        file = f;
    }

    private void readData(){
        Scanner t;

        try {
            t = new Scanner(new File(file));
            while(t.hasNextInt()){
                total += t.nextInt();
                num++;
            }
        } catch (Exception e) {
            System.out.print("error" + e.getMessage());
        }
    }

    public double average(){
        readData();
        return (double)total/num;
    }

    public static void main(String[] args){
        Reader r = new Reader("numbers.dat");
        double average = r.average();
        System.out.print(average);
    }
}

该代码可在其他地方使用 只是不在我的电脑上

0 个答案:

没有答案