首页 文章

我试图让这个工作,但它在fileReader声明显示errro

提问于
浏览
-2

这是主类,当我输入1或2进行下一步时,它会工作第一步它会出现错误“错误读取文件

public static void main(String [] args)throws 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;
    }
}

2 回答

  • 1

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

    throws exception

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

    try-catch

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

    你必须 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);
    }
    

    Edit

    别忘了导入这个库:

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

相关问题