gpt4 book ai didi

java - 输入文件第一行时Java中的NumberFomatException错误

转载 作者:行者123 更新时间:2023-12-03 08:34:06 24 4
gpt4 key购买 nike

考虑到每一行的权重之和是否低于5磅的权重限制,我尝试为本地Java挑战输入权重文件。它产生一个NumberFormatException。有什么想法吗?

import java.util.*;
import java.io.*;
import static java.lang.System.*;

public class Main {

public static void main(String[] args) throws IOException {
Scanner input = new Scanner(new File("postofficedat.txt"));

int lines = Integer.parseInt(input.nextLine());

for (int i = 0; i < lines; i++) {
double sum = .4;

for (int x = 0; x < 7; x++) {
sum = sum + input.nextDouble();
}

if (sum < 5) {
System.out.println("OK");
} else {
System.out.println("OVERWEIGHT");
}

if (i < lines - 1) {
input.nextLine();
}
}
input.close();
}
}
这是输入文件,其中第一行是行数,随后的几行是权重:
3
1.21 0.33 1.42 0.90 0.45 1.30 0.30
1.20 0.59 1.23 0.99 0.05 0.10 0.07
0.62 0.61 0.63 0.64 0.65 0.66 2.67
这是错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "3"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at Main.main(Main.java:27)

最佳答案

您正在尝试使用Scanner获取一个Integer。 Scanner提供了一些方便的方法,可让您阅读各种类型的内容。.nextLine()将尝试以字符串形式在下一行读取,如果您想将其作为int处理,则需要类型转换
您可以使用.nextInt()方法提取下一个整数。

关于java - 输入文件第一行时Java中的NumberFomatException错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63698791/

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