【问题标题】:i'm trying to get this working but it shows errro at fileReader statement我正在尝试让它工作,但它在 fileReader 语句中显示错误
【发布时间】:2017-04-14 15:10:11
【问题描述】:

这是主类,它适用于第一步,当我为下一步输入 1 或 2 时,它会给出错误提示“读取文件错误

public static void main(String[] args) 抛出 IOException{

    Scanner sc = new Scanner(System.in);
    System.out.println("1.Fraction Calculator");
    System.out.println("2.Grading Scheme");
    System.out.println("Enter Your Choice:");
    int ip = sc.nextInt();
    String frac1, frac2;
            // creating an object of Fraction class
    Grading grad=new Grading();
    grad.readFile();
    grad.calculateAverage();
    grad.calculateTestAvg();
    // creating an object of Fraction class
    Fraction frac =new Fraction();


    switch(ip){
        case 1: System.out.println("Enter two fractions:");
                //  input of the two fractions
                frac1 = sc.next(); frac2 = sc.next();
                // displaying the result table
                System.out.println("Addition: " + frac.add(frac1, frac2) + "\nSubtraction: " + frac.sub(frac1,frac2) + "\nMultiplication: " + frac.mul(frac1,frac2) + "\nDivision: " + frac.div(frac1, frac2));
                break; 

        case 2: grad.printGrades(); break;

        default : break;
    }
}

【问题讨论】:

  • 你遇到什么错误?
  • 获取一些 IDE,如 eclipse、netbean、intellij 用于开发/学习......这些将免费告诉这些错误。文本编辑器很好,但它们浪费了很多时间。

标签: java filereader


【解决方案1】:

因为你没有处理 java.io.FileNotFoundException, 您可以抛出该异常或使用 try catch 块来处理它

抛出异常

 void Grading()throws FileNotFoundException{
    FileReader fr = new FileReader("score.txt");
    BufferedReader br = new BufferedReader(fr);
}

尝试捕捉

  void Grading(){

    FileReader fr = null;
    try {
        fr = new FileReader("score.txt");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    BufferedReader br = new BufferedReader(fr);
}

【讨论】:

    【解决方案2】:

    你必须throws FileNotFoundExceptionFileReader 所以你有两个选择:

    void Grading() throws FileNotFoundException {
        FileReader fr = new FileReader("score.txt");
        BufferedReader br = new BufferedReader(fr);
    }
    

    或者使用try{}catch(){}

    void Grading() {
        FileReader fr;
        try {
            fr = new FileReader("score.txt");
        } catch (FileNotFoundException ex) {
            //...
        }
        BufferedReader br = new BufferedReader(fr);
    }
    

    编辑

    别忘了导入这个库:

    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    

    【讨论】:

    • 我尝试了第一个选项,但现在出现错误提示“找不到符号”
    • @HarryKashyap 也许你没有导入你的库,现在检查我的编辑
    • 好的,现在使用 throw ,eoor 不见了,但现在程序不工作了
    • 你现在工作是什么意思,请分享你所有的代码,请问你如何调用这个方法?
    • @HarryKashyap 这是有线的,Grading 是方法还是class
    猜你喜欢
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    相关资源
    最近更新 更多