我寫了一個拆分函數,其構造函數接受一個字符串對象 (For Example: 21.316621 87.01393 9830.686907)
。然後使用split()函數將它拆分爲三部分。然後將這三個新的字符串對象轉換爲三個基本類型double。我想在這些雙值執行了一些算術運算,但它顯示爲following--java中的數字格式異常
Exception in thread "main" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
拆分功能異常是following--
public class Split {
public Split(String str){
Double[] lla = new Double[3];
String[] parts=str.split("\t");
lla[0] = Double.parseDouble(parts[0]);
lla[1] = Double.parseDouble(parts[1]);
lla[2]= Double.parseDouble(parts[2]);
lla[0]+=123.567;
lla[1]+=12.456;
lla[2]+=76.5678;
System.out.println(lla[0]);
System.out.println(lla[1]);
System.out.println(lla[2]);
System.out.println();
}
}
請幫我出這problem.Thanks的
如果使用兩個或多個製表符分隔每個數字,您會發生什麼? (這裏是你的問題) – Tom
使用你的調試器。在代碼中添加System.out.println()以查找問題。消息非常清楚:你的一個部分實際上是一個空字符串。這是調試101. –
你確定你傳遞真正的字符串到你的函數?還有「\ t」是什麼意思,你確定你的字符串被「\ t」分隔而不是空格? – pooyan