亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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()在這里使用?;蛘吣梢詫⑵涓膕.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 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號