【发布时间】:2013-04-06 07:28:23
【问题描述】:
代码:
for(int i = 0; i < rate.length; i++){
if(i == 0 | i == 4 | i == 8 | i == 12 | i == 18 | i == 22 | i == 26 |
i == 30 | i == 34){
System.out.println(rate[i]);
String parsedRate = rate[i].substring(0, 5);
System.out.println(parsedRate);
double rt = Double.parseDouble(parsedRate);
if(rt > max){
max = rt;
}
}
}
输出:
10.00% 10.00
线程“主”java.lang.StringIndexOutOfBoundsException 中的异常:字符串索引超出范围:5 在 java.lang.String.substring(String.java:1907) 在 parserTax.main(parserTax.java:48)
我得到了想要的 10.00...但它失败了。这是一个错误吗?我知道它与那个特殊字符 '%' 有关系...我正在尝试解析一个文件以进行分析,有人可以帮我吗?
【问题讨论】:
-
我明白错误的含义......我想知道为什么当'%'字符存在时我仍然收到错误
-
小提示:可以将
if(i == 0 | i == 4 | i == 8 | i == 12 | i == 18 | i == 22 | i == 26 | i == 30 | i == 34){替换为if(i%4 == 0 && i>=0 && i<=34)
标签: java file parsing substring