1
我无法从字符串转换为字符然后转换为double。我试图计算一个简单的表达式1 + 2,但是当我从堆栈中分别弹出它的50.0和49.0。然后添加到99.0。我的代码如下。在JAVA中铸造问题
的表达是“1 + 2”
public static double calculate (String expression){
Stack<Character> calc = new Stack();
expression.replaceAll("\\s+","") ;
double result = 0;
for(int i = 0; i < expression.length(); i++){
calc.push((char) expression.charAt(i));
}
double one = (double) calc.pop();
char expr = calc.pop();
double two = (double) calc.pop();
if(expr == '-'){
result = one - (1*two);
} else if (expr == '+'){
result = one + (1*two);
}
System.out.println(result);
return result;
}
您的代码将只能使用数字0-9。 – celticminstrel
@celticminstrel是它只是一个简单的计算器 – th3r1singking