如何在Java中保留和添加另一个变量?
编程新手,所以请放松 我正在为课堂开发一个计算器应用程序。我必须设置加法、减法、乘法和除法如何在Java中保留和添加另一个变量?,java,parameter-passing,modeling,Java,Parameter Passing,Modeling,编程新手,所以请放松 我正在为课堂开发一个计算器应用程序。我必须设置加法、减法、乘法和除法 package part1.code; import part1.user_interface.CalculatorUI; public class Calculator { private static final int BASE = 10; private int _value; private int _va; private CalculatorUI _ui; public Calcul
package part1.code;
import part1.user_interface.CalculatorUI;
public class Calculator {
private static final int BASE = 10;
private int _value;
private int _va;
private CalculatorUI _ui;
public Calculator(CalculatorUI calculatorUI) {
_ui = calculatorUI;
_value = 0;
}
public void digit_0_keyPressed() {
_value = _value * BASE + 0;
_ui.updateDisplay();
}
public void digit_1_keyPressed() {
_value = _value * BASE + 1;
_ui.updateDisplay();
}
public void digit_2_keyPressed() {
_value = _value * BASE + 2;
_ui.updateDisplay();
}
public void digit_3_keyPressed() {
_value = _value * BASE + 3;
_ui.updateDisplay();
}
public void digit_4_keyPressed() {
_value = _value * BASE + 4;
_ui.updateDisplay();
}
public void digit_5_keyPressed() {
_value = _value * BASE + 5;
_ui.updateDisplay();
}
public void digit_6_keyPressed() {
_value = _value * BASE + 6;
_ui.updateDisplay();
}
public void digit_7_keyPressed() {
_value = _value * BASE + 7;
_ui.updateDisplay();
}
public void digit_8_keyPressed() {
_value = _value * BASE + 8;
_ui.updateDisplay();
}
public void digit_9_keyPressed() {
_value = _value * BASE + 9;
_ui.updateDisplay();
}
public void clear_keyPressed() {
_value = 0;
_ui.updateDisplay();
}
public int getValue() {
return _value;
}
public void equal_keyPressed() {
_value = _value;
_ui.updateDisplay();
// TODO Define this method
}
public void add_keyPressed() {
_value =
_ui.updateDisplay();
// TODO Define this method
}
}
现在,举个例子,你要做的一件基本的事情是1+1。对于add_键,我试图得到1+1=2,而不是1+1=11。因此,我试图保持输入值,同时添加新值。这听起来像是参数传递(我可能错了),或者建模,但我不太确定。如果没有静态(在我的类中是绝对禁止的),我不知道如何做,从我看到其他人做的,这是标准。
此外,在所有这些中,还有一个方法签名-
公共整数执行(整数参数)
必须包括在内
提前感谢。以下是更改列表
1.为运算符添加枚举
2.将运算符变量添加到类中
3.更改构造函数以设置运算符变量的默认值
4.更新等于按键法
5.更新添加按键方法
public class Calculator {
private static final int BASE = 10;
private int _value;
private int _va;
private CalculatorUI _ui;
private Operator op;
private enum Operator {
ADD, SUB, MUL, DIV, NO_OPERATION
};
public Calculator(CalculatorUI calculatorUI) {
op = Operator.NO_OPERATION;
_ui = calculatorUI;
_value = 0;
}
public void digit_0_keyPressed() {
_value = _value * BASE + 0;
_ui.updateDisplay();
}
public void digit_1_keyPressed() {
_value = _value * BASE + 1;
_ui.updateDisplay();
}
public void digit_2_keyPressed() {
_value = _value * BASE + 2;
_ui.updateDisplay();
}
public void digit_3_keyPressed() {
_value = _value * BASE + 3;
_ui.updateDisplay();
}
public void digit_4_keyPressed() {
_value = _value * BASE + 4;
_ui.updateDisplay();
}
public void digit_5_keyPressed() {
_value = _value * BASE + 5;
_ui.updateDisplay();
}
public void digit_6_keyPressed() {
_value = _value * BASE + 6;
_ui.updateDisplay();
}
public void digit_7_keyPressed() {
_value = _value * BASE + 7;
_ui.updateDisplay();
}
public void digit_8_keyPressed() {
_value = _value * BASE + 8;
_ui.updateDisplay();
}
public void digit_9_keyPressed() {
_value = _value * BASE + 9;
_ui.updateDisplay();
}
public void clear_keyPressed() {
_value = 0;
_ui.updateDisplay();
}
public int getValue() {
return _value;
}
public void equal_keyPressed(String uimessage) {
if (Operator.ADD.equals(op)) {
_value += _va;
} else if (Operator.MUL.equals(op)) {
_value *= _va;
} else if (Operator.DIV.equals(op)) {
_value = _va / _value;
} else if (Operator.SUB.equals(op)) {
_value = _va - _value;
}
_va = 0;
op = Operator.NO_OPERATION;
_ui.updateDisplay();
}
public void add_keyPressed() {
if (!Operator.NO_OPERATION.equals(op)) {
equal_keyPressed();
} else {
_ui.updateDisplay();
}
_va = _value;
_value = 0;
op = Operator.ADD;
}
public void mul_keyPressed() {
if (!Operator.NO_OPERATION.equals(op)) {
equal_keyPressed();
} else {
_ui.updateDisplay();
}
_va = _value;
_value = 0;
op = Operator.MUL;
}
}
你的问题是什么?你想要什么?你有什么问题吗?你需要先在_值中存储第一个数字,然后在运算符中存储第二个值,然后在_va中存储第二个值?你有这个问题吗?对不起,忘记了,_va是试图重新设置另一个变量,这是我将删除的一次性方法。我基本上想让add_键按下另一个va当我添加另一个值时,如1+1(当我添加另一个1时,它保持1)=2,而不是1+1=11。