-1
我试图创建一个filereader
,将创建最多客户的50个实例,每个:数字格式异常:无法识别字符串
String last names, first names,
int birth year, month, day, and SIN number (9 digits)
double savings balance (private double sbalance), chequing account, and credit card.
的文本文件,由九个领域,为重复每个客户。
Yang
Wesley
324917400
1996
8
1
3233.36
none
none
Tam
Christian
984635684
1996
6
12
none
10233.52
none
这是方法:
public static customer [] customerarray = new customer [50];
public static void readfile(){
String sb = "";
String cb = "";
String ca = "";
int counter = 0;
String thisLine;
try {
BufferedReader br = new BufferedReader(new FileReader("bankinfo.txt"));
while ((thisLine = br.readLine()) != null) {
customerarray[counter].setLastName(thisLine);
System.out.println (lastname);
customerarray[counter].setFirstName(br.readLine());
System.out.println (firstname);
customerarray[counter].setSin(Integer.parseInt(br.readLine()));
System.out.println (sin);
customerarray[counter].setYear(Integer.parseInt(br.readLine()));
System.out.println (year);
customerarray[counter].setMonth(Integer.parseInt(br.readLine()));
System.out.println (month);
customerarray[counter].setDay(Integer.parseInt(br.readLine()));
System.out.println (day);
sb = br.readLine();
System.out.println (sb);
if (sb == "none"){
customerarray[counter].setSBalance("none") ;
}
else {
customerarray[counter].setSBalance(Double.parseDouble(sb));
}
cb = br.readLine();
System.out.print (cb);
if (cb == "none"){
customerarray[counter].setCBalance ("none");
System.out.print (cbalance);
}
else if (cb != "none"){
customerarray[counter].setCBalance(Double.parseDouble(cb));
}
else{
System.out.print ("error CBalance");
}
ca = br.readLine();
if (ca == "none"){
customerarray[counter].setSBalance("none") ;
}
else {
customerarray[counter].setCardbal(Double.parseDouble(ca));
}
counter++;
}
}
catch (IOException e) {
System.err.println("Error: " + e);
}
customerarray[0].printSin();
}
输出是:
Yang
Wesley
324917400
1996
8
1
3233.36
noneException in thread "main" java.lang.NumberFormatException: For input string: "none"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Double.parseDouble(Double.java:510)
at customer.readfile(customer.java:81)
at customer.main(customer.java:38)
为什么不能承认, 'CB' 是==为 “无”?
的问题,当我运行程序时 - 崩溃的
if (cb == "none"){
customerarray[counter].setCBalance ("none");
System.out.print (cbalance);
}
else if (cb != "none"){
customerarray[counter].setCBalance(Double.parseDouble(cb));
}
我上传的整个java文件和bankinfo.txt文件 here