Я пытаюсь использовать try {} catch {}, чтобы получить правильный ввод файла от пользователя, однако я не знаю, как продолжать запрашивать ввод, пока я не получу действительный файл. Я не могу использовать оператор if, это то, что у меня есть. Файл заполнен целыми числами, и он применяется к другому методу. У меня есть FileReader, чтобы убедиться, что файл существует, в противном случае должно возникнуть исключение.

public static int readFilename() {
Scanner scan = new Scanner(System.in);
String input;
int average = 0;

try{

    System.out.print("Enter a filename: ");
    input = scan.next();
    FileReader read = new FileReader(input);
    average = AverageFile.average(input);

}
catch(FileNotFoundException e){
    System.out.println("Incorrect file input");


}


return average;

}

0
user2059856 20 Фев 2014 в 09:48

1 ответ

Лучший ответ

Попробуй это

public static int readFilename() {
    Scanner scan = new Scanner(System.in);
    String input;
    int average = 0;
    boolean flag= true;
    while(flag)
    {
    try{

        System.out.print("Enter a filename: ");
        input = scan.next();
        FileReader read = new FileReader(input);
        average = AverageFile.average(input);
         flag= false;

    }
    catch(FileNotFoundException e){
        System.out.println("Incorrect file input");


    }

    }
    return average;
    }
0
swapnil7 20 Фев 2014 в 09:57