我写了一个拆分函数,其构造函数接受一个字符串对象 (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