作者wikedia (olo)
看板java
標題迴圈內抓不到變數..
時間Wed Aug 15 15:41:14 2012
寫一個輸入輸出的程式
結果出現了以下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