为了账号安全,请及时绑定邮箱和手机立即绑定

Java 异常错误(线程“main”中的异常 java.util.InputMismatch)

Java 异常错误(线程“main”中的异常 java.util.InputMismatch)

一只名叫tom的猫 2023-10-19 18:23:18
这个 Java 类从日志文件读取数据并将值插入数组列表中,数据可以从 int 更改为任何其他类型,,,当我在某些情况下运行该类时,我收到此异常错误...Exception in thread "main" java.util.InputMismatchException    at java.util.Scanner.throwFor(Unknown Source)    at java.util.Scanner.next(Unknown Source)    at java.util.Scanner.nextInt(Unknown Source)    at java.util.Scanner.nextInt(Unknown Source)    at GetStaisticResults.readfile(GetStaisticResults.java:33)    at GetStaisticResults.main(GetStaisticResults.java:15)我尝试在以不同方式插入数组列表之前转换值,但没有结果,有什么帮助吗?import java.io.*;import java.util.*;import org.apache.log4j.Logger;public class GetStaisticResults {    public static void main(String[] args) throws Throwable {        String inputFile = ("C:\\staticalData.log");        ArrayList<Integer> Data = new ArrayList<Integer>();        Data = readfile(inputFile);//line 15    }    public static ArrayList<Integer> readfile(String file) throws IOException {        Scanner s = new Scanner(new File(file));        ArrayList<Integer> list = new ArrayList<Integer>();        while (s.hasNext()) {            list.add(s.nextInt()); //line 33        }        s.close();        return list;    }}
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

这段代码的问题似乎是你的输入没有Integer根据。s.hasNext()检查可以转换为 的输入String。您可能应该s.hasNextInt()在这里使用。或者您可以将其更改s.nextInt()为s.next()将输入作为String. 我提供两种可能的解决方案,然后您可以决定哪一种满足您的要求。


解决方案一:


ArrayList<Integer> list = new ArrayList<>();

while (s.hasNextInt()) {

    list.add(s.nextInt());

}

在此解决方案中,您的代码将仅作为Integer输入。因为s.hasNextInt()限制了输入Integer值。如果遇到除该Integer值之外的任何内容,则while循环将退出。


解决方案2:


ArrayList<String> list = new ArrayList<>();

while (s.hasNext()) {

    list.add(s.next());

}

在此解决方案中,您的代码将作为String输入。"abc"无论您的输入包含或7或等,它都不会失败。33.32它将把它们全部保存为一个String值。


查看完整回答
反对 回复 2023-10-19
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

所以问题是,每当您从文件中读取任何内容时,它都是string循环内的下一个格式,您正在获取整数值,而输入是字符串,这就是它给出的原因 InputMismatchException



查看完整回答
反对 回复 2023-10-19
  • 2 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信