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

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

如何為我的掃描儀文件閱讀器修復 java.util.InputMismatchException?

如何為我的掃描儀文件閱讀器修復 java.util.InputMismatchException?

達令說 2022-10-26 16:02:50
我使用掃描儀的文件閱讀器出現了一些問題,此時我有點不知所措。嘗試使用掃描儀讀取文件,但 atm 我不斷收到一條java.util.InputMismatchException消息,提示我scanner.next將錯誤的文件放入錯誤的數組中?我不知道為什么會發生這種情況,如果有人可以在我的代碼中指出我搞砸的地方,我將不勝感激。注意:除非它是相關的,否則忽略無用的變量和過長的數組。我正準備把它變成一個類,但一些變量還沒有使用。public static void main(String[] args) throws IOException{    int playersTotal = 0;    int entries = 0;    int namesIndex = 0;    int attackIndex = 0;    int blockIndex = 0;    String[] playersName = new String[60];    double[] attackScores = new double[60];    double[] blockScores = new double[60];    String file = "roster1.txt";    Scanner scanner = new Scanner(new File(file));    scanner.useDelimiter(" ");    while(scanner.hasNextLine())    {        playersName[namesIndex] = scanner.next();        System.out.println(playersName[namesIndex]);        namesIndex ++;        playersName[namesIndex] = scanner.next();        System.out.println(playersName[namesIndex]);        namesIndex ++;        entries ++;        attackScores[attackIndex] = scanner.nextDouble();        System.out.println(attackScores[attackIndex]);        attackIndex ++;        entries ++;        //problem occurs here:        blockScores[blockIndex] = scanner.nextDouble();        System.out.println(blockScores[blockIndex]);        blockIndex ++;        entries ++;        playersTotal ++;    }}這應該從每行都包含字符串和雙精度的列表中取出每個用空格分隔的條目,并將其保存到正確的數組中。然而,它只在第一行達到第一個雙倍。嘗試讀取下一個 double 會提示線程中的異常。
查看完整描述

1 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

嘗試注釋掉為 Scanner 實例指定分隔符的行 scanner.useDelimiter(" ");

并確保您的 Scanner 實例在解析雙精度時使用正確的語言環境(.分隔符而不是,)。

Scanner scanner = new Scanner(new File(file).useLocale(Locale.US);


查看完整回答
反對 回復 2022-10-26
  • 1 回答
  • 0 關注
  • 85 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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