首頁 > Java > java教程 > 為什麼在使用掃描器讀取雙精度值時會出現 InputMismatchException?

為什麼在使用掃描器讀取雙精度值時會出現 InputMismatchException?

Linda Hamilton
發布: 2024-11-05 21:21:02
原創
241 人瀏覽過

Why Am I Getting an InputMismatchException When Reading Double Values with Scanner?

為什麼在取得Double值時會出現InputMismatchException?

在Java中,當使用Scanner讀取Double值時,如果輸入不嚴格遵循預期的十進位格式。

理解問題:

提供的程式碼包含 checkValueWithin 和askForMarks 方法。 checkValueWithin 旨在驗證指定範圍內的數位輸入。

問題出現在askForMarks 方法中,其中使用者輸入預計為 0 到 30 範圍內的雙精度值。但是,輸入可能會被格式化不正確,導致掃描程式在解析雙精度值時失敗。

修正:

可以透過確保使用者輸入的格式使用逗號作為格式來解決小數點分隔符號而不是點。例如,輸入 1,2,而不是 1.2。這與 Java 中的雙精度值表示一致。

以下是 AskForMarks 的修改後的程式碼:

此修改可確保正確輸入雙精確值,從而防止 Scanner 遇到 InputMismatchException。

以上是為什麼在使用掃描器讀取雙精度值時會出現 InputMismatchException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板