嘿,有人可以帮助我,我的错误,我越来越。我正在分开我的文件中的线,并检查他们是低中等或高。如果字符串是空白的,我想读取文件中的下一行。我认为错误是当我解析刺激到一个双。下面我的代码任何帮助appriciated! 首先这里是我的错误Java字符串解析错误
Exception in thread "main" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at BSCQueryManager.displayBar(BSCQueryManager.java:431)
at BSCQueryManager.main(BSCQueryManager.java:57)
这里是我的代码
String vMag;
String data;
double v;
int highCount = 0;
int medCount = 0;
int lowCount = 0;
// read file
File inFile = new File("bsc.dat");
Scanner starFile = new Scanner(inFile);
// while there is a vmag
while(starFile.hasNext()){
// read next line
data = starFile.nextLine();
data = data.substring(102, 107);
data.trim();
// if no vmag read next line
if(data.trim()!= ""){
v = Double.parseDouble(data);
// if vmag is > 6.0 add to countHigh
if (v > 6){
highCount++;
}
// if vmag is 5-6 add to countMed
if (v >= 5 && v <= 6){
medCount++;
}
// if vmag is < 5 add to countLow
if (v < 5){
lowCount++;
}
// end if
}
// end while
}
// display label
System.out.println(label);
System.out.println(highCount);
System.out.println(lowCount);
System.out.println(medCount);
1小号tr are _immutable_。 'String#trim()'不会(不能)在原地修改字符串,它会返回一个新的包含修剪结果的'String'。 –
谢谢你的工作! –
@ShianneRice - 我很高兴听到它。你能帮我一个忙吗?**再也不会**用*嗨*开始提问。它残酷地使用英语。另外 - 尽量避免*所以*如果你曾经试探过。 – OldCurmudgeon