【发布时间】:2016-07-15 08:40:43
【问题描述】:
编程新手,所以请放轻松。
我正在开发一个用于课堂的计算器应用程序。我必须设置加法、减法、乘法和除法方法。
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_keyPressed,我试图达到 1+1 = 2,而不是 1+1 = 11。所以,我试图保持值输入,并同时添加新值。这听起来像我'm 参数传递(我可能是错的),或建模,但我不太确定。如果没有静态(这在我的课堂上是绝对禁止的),我不知道如何做到这一点,这来自我米看别人做的,是标准。 此外,在所有这些中,方法签名 -
公共 int 执行(int arg)
必须包括在内。
提前致谢。
【问题讨论】:
-
您的问题是什么?你想要什么?你被什么困住了吗?
-
您需要将第一个数字存储在 _value 中,然后是运算符,然后将第二个值存储在 _va 中?你被这个困住了吗?
-
抱歉忘记了,_va 是试图实例化另一个变量,我将删除它。我基本上希望 add_keyPressed 在我添加另一个值时如何设置另一个值,例如 1 + 1(在我添加另一个 1 时保持 1)= 2,而不是 1+1 = 11。
标签: java parameter-passing modeling