Ich habe versucht, Code zu schreiben, der eine Eingabedatei lesen und eine Ausgabedatei erstellen würde. Aber als ich versuchte, einen Versuch hinzuzufügen, bis ein korrekter Eingabedateiname eingegeben wird, hatte ich Probleme. Es zeigt nicht die richtige filenotfound Ausnahme in Versuch ist ....java weiter versuchen, bis es keine filenotfundexception mehr gibt
public static void main(String[] args) throws FileNotFoundException
{
//prompt for the input file name
Scanner in = new Scanner(System.in);
//keep trying until there are no more exceptions
//boolean done = false;
String inputfilename = " ";
while (!done)
{
try
{
System.out.print("Input file name (from your computer): ");
inputfilename = in.next();
done = true;
}
catch (FileNotFoundException exception)
{
System.out.println("****** ERROR ******\nCannot locate the input file '" + inputfilename + "' on your computer - please try again.");
}
}
//prompt for the output file name
System.out.print("What would you like to call your output file: ");
//use outputfilename variable to hold input value;
String outputfilename = in.next();
//construct the Scanner and PrintWriter objects for reading and writing
File inputfile = new File(inputfilename);
Scanner infile = new Scanner(inputfile);
PrintWriter out = new PrintWriter(outputfilename);
//read the input and write the output
out.println("Here is the class average for mstu4031:\n");
double totalgrade = 0;
double number = 0;
while (infile.hasNextDouble())
{
double grade = infile.nextDouble();
out.println("\n");
out.printf("%.1f\n",grade);
number++;
totalgrade = totalgrade + grade;
}
//print numbers and average in output file
out.println("\n\n");
out.printf("\nNumber of grades: %.1f",number);
//calculate average
double average = totalgrade/number;
out.println("\n\n");
out.printf("\nAverage: %.2f",average);
finally
{
in.close();
out.close();
}
}
'Ich habe Probleme, es zeigt nicht die richtige filenotfound Ausnahme in try' ist. Kannst du erklären, was das bedeutet? – YoungSpice
Könnten Sie bitte die spezifische Fehlermeldung hinzufügen, die Sie bekommen? – Tophandour
In Ihrem Code ist die Deklaration der Variablen 'done' auskommentiert, daher würde Ihr Code nicht kompiliert werden, aber ich nehme an, das ist ein Tippfehler. – aleb2000