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,我不知道自己做错了什么。这是我对数据类型的转换吗?
答案 0 :(得分:2)
您必须使用equals()
方法来比较字符串标识。不是==
运营商。
if(operator[0].equals("+")) {
answer = Double.valueOf(operand[0]) + Double.valueOf(operand[1]);
}