在Calculator中实现百分比(%)按钮

时间:2014-11-20 11:12:28

标签: android eclipse if-statement calculator percentage

我是SO& S的新手Android编程。我有计算机代码,我想在其中实现百分比(%)按钮功能,就像在实际(casio,citizen等)计算器中使用它一样。 例如,输入 50 然后按 +(添加)输入 5 ,然后按 answer等于 52.5 。同样,%按钮的行为更改为MULTIPLY,MINUS或SUBTRACT&划分。 例如,输入 50 然后按 - (减去)输入 5 然后按 answer等于 47.5 。 当我按%按钮num2 * 0.01 * num1 + num1时,基本上在添加功能(num1 = 50,num2 = 5)num1 + num2时进行此计算。

以下是我用于计算百分比的代码:

 if (operateString.equals(ADD)) {
        num1 = num2 + num1;
        if
        ((operateString.equals(ADD)) && num2 !=0 
        && operateString.equals(PERCENTAGE)){
            numPer = num2*0.01*num1+num1;
            num1 = numPer +num1;
            }

我不知道如何继续使用num1& num2值嵌套if语句因为只显示添加成功。当我按百分比按钮时,也只显示添加结果,即55。我也不明白' operatingString'将在嵌套的if语句中运行。 &安培;我也不知道嵌套的if语句是否是正确的选择。

这是我的完整课程代码:

public class Calculator{

private double num1;
private double num2;
private double numPer;
private String operateString;


public static final String ADD = "+";
public static final String SUBTRACT = "-";
public static final String MULTIPLY = "*";
public static final String PERCENTAGE = "%";
public static final String DIVIDE = "/";

public static final String DEL = "<-Del";
public static final String CLEAR = "AC" ;

public static final String SQUAREROOT = "√";
public static final String SQUARED = "x²";
public static final String INVERT = "1/x";
public static final String TOGGLESIGN = "+/-";


public CalcProcess() {
    num1 = 0;
    num2 = 0;
    numPer = 0;
    operateString = "";
    }


public void setnum1(double num) {
    num1 = num;
}

public double getResult() {
    return num1;
}

public String toString() {
    return Double.toString(num1);
}

protected double performCalculation(String operator) {
    if (operator.equals(CLEAR)) {
        num1 = 0;
        operateString = "";
        num2 = 0;

    } else if (operator.equals(SQUAREROOT)) {
        num1 = Math.sqrt(num1);

    } else if (operator.equals(SQUARED)) {
        num1 = num1 * num1;

    } else if (operator.equals(INVERT)) {
        if (num1 != 0) {
            num1 = 1 / num1;
        }
    } else if (operator.equals(TOGGLESIGN)) {
        num1 = -num1;

    } else {
        performnextOperation();
        operateString = operator;
        num2 = num1;

    }

    return num1;
}

protected double performnextOperation() {


    if (operateString.equals(ADD)) {
        num1 = num2 + num1;
        if
        ((operateString.equals(ADD)) && num2 !=0 
        && operateString.equals(PERCENTAGE)){
            numPer = num2*0.01*num1+num1;
            num1 = numPer +num1;
            }

就像ADD一样,我对DIV,SUB,MULTIPLY进行了相同的百分比操作,但结果只是主要功能,即加法,减法,乘法和放大。师... 我只是坚持百分比按钮..休息所有计算工作绝对正常。 经过大量的搜索后,任何帮助都会非常受欢迎。研究没有论坛有这个问题&amp;这是我的第一个问题......手指交叉......期待快速解决方案.. :)

0 个答案:

没有答案