第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Java 異常錯誤(線程“main”中的異常 java.util.InputMismatch)

Java 異常錯誤(線程“main”中的異常 java.util.InputMismatch)

一只名叫tom的貓 2023-10-19 18:23:18
這個 Java 類從日志文件讀取數(shù)據(jù)并將值插入數(shù)組列表中,數(shù)據(jù)可以從 int 更改為任何其他類型,,,當(dāng)我在某些情況下運行該類時,我收到此異常錯誤...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)我嘗試在以不同方式插入數(shù)組列表之前轉(zhuǎn)換值,但沒有結(jié)果,有什么幫助嗎?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 回答

?
拉風(fēng)的咖菲貓

TA貢獻1995條經(jīng)驗 獲得超2個贊

這段代碼的問題似乎是你的輸入沒有Integer根據(jù)。s.hasNext()檢查可以轉(zhuǎn)換為 的輸入String。您可能應(yīng)該s.hasNextInt()在這里使用。或者您可以將其更改s.nextInt()為s.next()將輸入作為String. 我提供兩種可能的解決方案,然后您可以決定哪一種滿足您的要求。


解決方案一:


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

while (s.hasNextInt()) {

    list.add(s.nextInt());

}

在此解決方案中,您的代碼將僅作為Integer輸入。因為s.hasNextInt()限制了輸入Integer值。如果遇到除該Integer值之外的任何內(nèi)容,則while循環(huán)將退出。


解決方案2:


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

while (s.hasNext()) {

    list.add(s.next());

}

在此解決方案中,您的代碼將作為String輸入。"abc"無論您的輸入包含或7或等,它都不會失敗。33.32它將把它們?nèi)勘4鏋橐粋€String值。


查看完整回答
反對 回復(fù) 2023-10-19
?
慕姐4208626

TA貢獻1852條經(jīng)驗 獲得超7個贊

所以問題是,每當(dāng)您從文件中讀取任何內(nèi)容時,它都是string循環(huán)內(nèi)的下一個格式,您正在獲取整數(shù)值,而輸入是字符串,這就是它給出的原因 InputMismatchException



查看完整回答
反對 回復(fù) 2023-10-19
  • 2 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號