Android:除法和减法始终等于1.0

-6 java android arithmetic-expressions calculator

我正在制作一个简单的计算器,但是当我尝试划分时,我总是得到1.0,当我减去时,我总是得到零.加法和乘法工作正常.

我读过类似的问题,例如: 为什么整数除法代码给出了错误的答案? 在Java中划分两个整数给我0或100? Java中的除法总是导致零(0)?

还有很多...

这是我的代码的一部分:

 if (minu) {
    number1 = Double.valueOf(display1.getText().toString());
    number2 = Double.valueOf(display1.getText().toString());

    display1.setText("");
    display2.setText("");
    displaySymbol.setText("");

    answer = number1 - number2;

    display1.setText(Double.toString(answer));
 }
Run Code Online (Sandbox Code Playgroud)

和分裂:

if (divid) {
    number1 = Double.valueOf(display1.getText().toString());
    number2 = Double.valueOf(display1.getText().toString());

    display1.setText("");
    display2.setText("");
    displaySymbol.setText("");

    answer = number2  / number1;

    display1.setText(Double.toString(answer));
}
Run Code Online (Sandbox Code Playgroud)

请帮忙!

Evi*_*n1_ 6

您正在阅读从值display1 的两倍,你忘了更改的读数number2display2.


更换:

number2 = Double.valueOf(display1.getText().toString());
Run Code Online (Sandbox Code Playgroud)

number2 = Double.valueOf(display2.getText().toString());
Run Code Online (Sandbox Code Playgroud)

你的功能最终会成为:

if(minu){
    number1 = Double.valueOf(display1.getText().toString());
    number2 = Double.valueOf(display2.getText().toString());

    display1.setText("");
    display2.setText("");
    displaySymbol.setText("");

    answer = number1 - number2;

    display1.setText(Double.toString(answer));
}
Run Code Online (Sandbox Code Playgroud)