看板 java 關於我們 聯絡資訊
寫一個輸入輸出的程式 結果出現了以下error Exception in thread "main" java.lang.NumberFormatException: For input string: "0 " at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at QQ.main(QQ.java:20) 部分程式碼如下 FileReader fw1= new FileReader("c:\\Users\\Wikedia\\Desktop\\CDR201208.txt"); FileReader fw2= new FileReader("c:\\Users\\Wikedia\\Desktop\\CDR201208-2.txt"); BufferedReader bur1 = new BufferedReader(fw1); BufferedReader bur2 = new BufferedReader(fw2); BufferedWriter buw=new BufferedWriter( new FileWriter("c:\\Users\\Wikedia\\Desktop\\Answer.txt")); String s; int hour,min,sec,hour2,min2,sec2,Totalsec=0,Totalmin=0,Totalhour=0; String ext; //**** while ( (s=bur1.readLine()) !=null){ ext=s.substring(20,25); sec=Integer.parseInt(s.substring(95,97));//第20行 min=Integer.parseInt(s.substring(92,94)); hour=Integer.parseInt(s.substring(89,91)); 乍似是抓到了"0 "這個字串以至於不能轉成整數 但是嘗試在迴圈外(也就是****處)抓取sec, 是可以行得通的 不曉得為什麼在迴圈內會抓不到? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.208.208
PsMonkey:==.=== 這種 bug 把 s.substring(95,97) 印出來就解決了 08/15 16:33
PsMonkey:反而是迴圈外的 s 值哪裡來? 真是莫名其妙 08/15 16:34
risker760915:看起來是讀取多筆資料,第一筆就錯代表你index算錯, 08/15 16:59
risker760915:特定一筆錯代表你那筆資料格式跑掉... 08/15 17:01
Darkword1987:我注意到"0 "後面有多一個空白 是這個原因嗎 08/16 13:24
risker760915:parseInt 不吃空白的樣子.. 08/16 14:00