我想用我的两个输入进行数学运算

时间:2014-02-05 10:33:05

标签: java android string double

EditText txtDisplay = (EditText) findViewById(R.id.txtDisplay);
    display = txtDisplay.getText().toString();
    operator = display.split("\\d|\\.");
    operand = display.split("\\+|\\-|\\*|\\/");

    if(operator[0] == "+"){
        answer = Double.valueOf(operand[0]) + Double.valueOf(operand[1]);
    }

    if(operator[0] == "-"){
        answer = Double.valueOf(operand[0]) - Double.valueOf(operand[1]);
    }

    if(operator[0] == "*"){
        answer = Double.valueOf(operand[0]) * Double.valueOf(operand[1]);
    }

    if(operator[0] == "/"){
        answer = Double.valueOf(operand[0]) / Double.valueOf(operand[1]);
    }

    txtDisplay.setText(String.valueOf(answer));

显示的答案总是0.0,我不知道自己做错了什么。这是我对数据类型的转换吗?

1 个答案:

答案 0 :(得分:2)

您必须使用equals()方法来比较字符串标识。不是==运营商。

if(operator[0].equals("+")) {
    answer = Double.valueOf(operand[0]) + Double.valueOf(operand[1]);
}