【问题标题】:Android: Division and subtraction always equal 1.0Android:除法和减法总是等于 1.0
【发布时间】:2016-05-13 12:32:06
【问题描述】:

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

我读过类似的问题,例如: Why does integer division code give the wrong answer? Dividing two integers in Java gives me 0 or 100? Division in Java always results in zero (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));
 }

和师:

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));
}

请帮忙!

【问题讨论】:

    标签: java android calculator arithmetic-expressions


    【解决方案1】:

    您正在读取来自display1 的值两次,您忘记将number2 的读数更改为display2


    替换:

    number2 = Double.valueOf(display1.getText().toString());
    

    number2 = Double.valueOf(display2.getText().toString());
    

    你的函数最终会是:

    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));
    }
    

    【讨论】:

      猜你喜欢
      • 2019-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      相关资源
      最近更新 更多