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

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

從緩沖區讀取器輸入字符串時的 Java 數字異常

從緩沖區讀取器輸入字符串時的 Java 數字異常

收到一只叮咚 2021-10-28 14:54:27
import java.util.*;import java.io.*;import java.lang.*;class Ex{     public static void main (String[] args) throws IOException     {        BufferedReader br = new BufferedReader(newInputStreamReader(System.in));        int a,b,n,c;        n=Integer.parseInt(br.readLine());        for(int i=1;i<=n;i++)         {               try            {                 a=Integer.parseInt(br.readLine());                b=Integer.parseInt(br.readLine());                try                {                    c=a/b;                    System.out.println(c);                }                catch (ArithmeticException e)                {                    System.out.println(e);                }             }                catch (InputMismatchException m)             {                System.out.println(m);            }               }     }}上面提到的是我試圖運行的代碼,下面是 input_file.txt4 10310Hello10223.3230.0這是我得到的錯誤。Exception in thread "main" java.lang.NumberFormatException: For input string: "4 "        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)        at java.lang.Integer.parseInt(Integer.java:580)        at java.lang.Integer.parseInt(Integer.java:615)        at Ex.main(Ex.java:11)
查看完整描述

2 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

java.lang.NumberFormatException: For input string: "4 "

正如您從字符串上方的錯誤消息中看到的那樣,您嘗試解析的數字在末尾有一個空格,這將導致解析失敗。

要擺脫前導和尾隨空格,您可以在字符串上使用trim()方法:

a=Integer.parseInt(br.readLine().trim());


查看完整回答
反對 回復 2021-10-28
?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

我想你已經輸入了帶空格的數字 4。請檢查您的輸入。

對于輸入字符串:“4”

為了避免它,您可以添加如下修剪功能

Integer.parseInt(br.readLine().trim());


查看完整回答
反對 回復 2021-10-28
  • 2 回答
  • 0 關注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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