我解析doc和我得到以下错误:java.lang.NumberFormatException:对于输入字符串:“空”
Exception in thread "main" java.lang.NumberFormatException: For input string: "null"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Float.valueOf(Float.java:388)
at CentroidGenerator$Centroid.averageLat(CentroidGenerator.java:403)
at CentroidGenerator.getCentroids(CentroidGenerator.java:30)
at CentroidGenerator.main(CentroidGenerator.java:139)
这是代码抛出异常的部分:
if (latitude!=null) {
//if (!latitude.equals("null")) {
String[] latValues = latitude.split(" ");
float sum = 0;
for (int i = 0; i < latValues.length; i++) {
sum = sum + Float.valueOf(latValues[i].trim()).floatValue();
}
latitude = Float.toString(sum/(float) latValues.length);
//}
}
正如你所看到的我试图检查“空”字符串,但即使取消注释第二个if语句我得到相同的错误。
感谢
尝试在for循环中添加一个System.out.println(latValues [i] .trim()),可能由于间距问题而将null值作为latValues之一获取?并且可能只是在if语句之后打印出纬度 – Mike 2011-03-25 14:01:35
回滚到修订1:由于删除的注释正在解决文本和答案(“...第二个if语句...”) – 2011-03-25 14:38:39