我解析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