gpt4 book ai didi

java.lang.NumberFormatException : For input string when using scanner to read the file 异常

转载 作者:行者123 更新时间:2023-11-29 05:21:36 24 4
gpt4 key购买 nike

我不确定为什么会收到此错误以及在以下代码片段中如何修复它:

        String srcFile=args[0];
Scanner fileIn = new Scanner(srcFile);
// if (fileIn.isFile() && fileIn.canRead())

CarDB carDatabase = new CarDB();
while(fileIn.hasNext())
{
String[] line = fileIn.nextLine().split(",");
double mpg = Double.parseDouble(line[0]);
int cylinders = Integer.parseInt(line[1]);
int power = Integer.parseInt(line[2]);
int year = Integer.parseInt(line[3]);
int region = Integer.parseInt(line[4]);
String makerName = line[5].trim();
String carName = line[6].trim();

carDatabase.addCar(makerName, carName, mpg, cylinders, power, year, region);// add car
carDatabase.addMaker(makerName);//add maker to list

}

第 36 行是:double mpg = Double.parseDouble(line[0]);

错误是:

java CarDBMain cars.txt 
java.lang.NumberFormatException: For input string: "cars.txt"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1250)
at java.lang.Double.parseDouble(Double.java:540)
at CarDBMain.main(CarDBMain.java:36)

最佳答案

你有这个 Scanner fileIn = new Scanner("cars.txt"); 所以你的第一行将是 "cars.txt"

 Scanner fileIn = new Scanner(new File(srcFile));//Or probably path of file

此处创建文件并将命令行参数(表示文件路径)传递给文件构造函数并将该文件传递给Scanner .

您正在将文件名作为 String 传递给 Scanner。

构造函数

Scanner(File source)<---Takes File you want to read
Scanner(String source)<----Takes String you want to read
etc.

关于java.lang.NumberFormatException : For input string when using scanner to read the file 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24473750/

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