文字列式 (つまり、"6+10*2-5") を解析し、for-case ステートメントを使用して答えを倍精度で計算しようとしています。ただし、エラーが発生します:
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:470)
at java.lang.Integer.parseInt(Integer.java:499)
at Calculator.random(Calculator.java:50)
at Calculator.main(Calculator.java:210)
何か案は?
public static double random(String exp) {
double primeResult = 0;
for (int i=0; i<exp.length();i++) {
double left = Integer.parseInt(exp.substring(0,i));
double right = Integer.parseInt(exp.substring(i+1,i+2));
switch(exp.charAt(i)) {
case '*':
primeResult = left * right;
break;
case '/':
primeResult = left / right;
break;
case '+':
primeResult = left + right;
break;
case '-':
primeResult = left - right;
break;
default:
return 0;
}
System.out.println(primeResult);
}
return primeResult;
}
}