我想製作一個程序,其中的輸入包含多行,第一行指示字符序列的後續行數。這些字符序列將被「」分割。分割的字符將被轉換爲整數並得到它的總和。如何解決numberformatexception並獲取輸入字符串:「」?
For Example:
2
2 3
4 5
2 3 Sum is 5
4 5 Sum is 9
現在,當我輸入相同的輸入,我得到這個..
2
2 3
4 5
Sum is 0
2 3 Sum is 5
4 5 Sum is 9
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:504)
at java.lang.Integer.parseInt(Integer.java:527)
at ITweek.sum2(ITweek.java:33)
at ITweek.main(ITweek.java:18)
爲什麼我總的收益爲0?和NumberFormatException的錯誤:對於輸入字符串:「」?我不明白。我不知道如何以及在哪裏找到答案。任何幫助將不勝感激。謝謝。
這是我的代碼..
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Prob {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
int loop = input.nextInt();
String numberString[]=new String[loop+1];
for(int i=0; i<=loop; i++){
String ans = input.nextLine();
numberString[i] = ans;
}
sum2(numberString);
}
static void sum2(String []answers){
for(String b : answers){
System.out.print(""+b+" ");
String splittedNumber[] = b.split(" ");
int sum = 0;
for(String j : splittedNumber){
try{
sum=sum+Integer.parseInt(j);
}catch(Exception x){
x.printStackTrace();
}
}
System.out.println("Sum is "+sum);
}
}
}
如果有「」,請不要將其解析爲整數。一個適當的if-else語句就足夠了。 – Naddy
啊好吧,我看到..我的一個粗心。謝謝。 =) – baikoko09