作者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
1F:→ PsMonkey:==.=== 这种 bug 把 s.substring(95,97) 印出来就解决了 08/15 16:33
2F:→ PsMonkey:反而是回圈外的 s 值哪里来? 真是莫名其妙 08/15 16:34
3F:→ risker760915:看起来是读取多笔资料,第一笔就错代表你index算错, 08/15 16:59
4F:→ risker760915:特定一笔错代表你那笔资料格式跑掉... 08/15 17:01
5F:推 Darkword1987:我注意到"0 "後面有多一个空白 是这个原因吗 08/16 13:24
6F:→ risker760915:parseInt 不吃空白的样子.. 08/16 14:00