gpt4 book ai didi

java 继续尝试,直到不再有 filenotfoundException

转载 作者:行者123 更新时间:2023-12-01 09:08:31 26 4
gpt4 key购买 nike

我试图编写可以读取输入文件并创建输出文件的代码。但是当我尝试添加尝试直到输入正确的输入文件名时,我遇到了问题。它显示尝试中存在不正确的 filenotfound 异常....

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();
}
}

最佳答案

您的 try block 中没有可能引发 FileNotFoundException 的方法。

尝试在 try block 中实例化您的扫描仪。如果从 stdin 读取的文件名不存在,它将抛出预期的 FileNotFoundException:

String inputfilename = null;
Scanner infile = null;
while (!done)
{
try
{
System.out.print("Input file name (from your computer): ");
inputfilename = in.next();
infile = new Scanner(new File(inputfilename));
done = true;
}
catch (FileNotFoundException exception)
{
System.out.println("****** ERROR ******\nCannot locate the input file '" + inputfilename + "' on your computer - please try again.");
}
}

关于java 继续尝试,直到不再有 filenotfoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41068748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com