我是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;这是我的第一个问题......手指交叉......期待快速解决方案.. :)