Lab Help. Lifesaver! Here\'s a link to the Lab outline. I have some clue on how
ID: 3682684 • Letter: L
Question
Lab Help. Lifesaver!
Here's a link to the Lab outline. I have some clue on how to do this do I'm just stuck and need to finish this tonite. I'm just taking this for fun not a CSE major. Someone with a lot more knowledge could probably knock this out in under 20 minutes.
http://www.cse.buffalo.edu/faculty/alphonce/cse115/work/Lab07.pdf
Here's the code that needs manipulating. You add to the TODO define this menthod and add instance variables and whatever else where needed.
Part 1:
package part1.code;
import part1.user_interface.CalculatorUI;
public class Calculator {
private static final int BASE = 10;
private int _value;
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() {
// TODO Define this method
}
public void add_keyPressed() {
// TODO Define this method
}
}
Part 2:
package part2.code;
import part2.user_interface.CalculatorUI;
public class Calculator {
private int _value;
private CalculatorUI _ui;
public Calculator(CalculatorUI calculatorUI) {
_ui = calculatorUI;
_value = 0;
}
public void digit_0_keyPressed() {
_value = _value * 10 + 0;
_ui.updateDisplay();
}
public void digit_1_keyPressed() {
_value = _value * 10 + 1;
_ui.updateDisplay();
}
public void digit_2_keyPressed() {
_value = _value * 10 + 2;
_ui.updateDisplay();
}
public void digit_3_keyPressed() {
_value = _value * 10 + 3;
_ui.updateDisplay();
}
public void digit_4_keyPressed() {
_value = _value * 10 + 4;
_ui.updateDisplay();
}
public void digit_5_keyPressed() {
_value = _value * 10 + 5;
_ui.updateDisplay();
}
public void digit_6_keyPressed() {
_value = _value * 10 + 6;
_ui.updateDisplay();
}
public void digit_7_keyPressed() {
_value = _value * 10 + 7;
_ui.updateDisplay();
}
public void digit_8_keyPressed() {
_value = _value * 10 + 8;
_ui.updateDisplay();
}
public void digit_9_keyPressed() {
_value = _value * 10 + 9;
_ui.updateDisplay();
}
public void clear_keyPressed() {
_value = 0;
_ui.updateDisplay();
}
public int getValue() {
return _value;
}
public void divide_keyPressed() {
// TODO Define this method
}
public void multiply_keyPressed() {
// TODO Define this method
}
public void subtract_keyPressed() {
// TODO Define this method
}
public void add_keyPressed() {
// TODO Define this method
}
public void equal_keyPressed() {
// TODO Define this method
}
}
Part 3:
package part3.code;
import part3.user_interface.CalculatorUI;
public class Calculator {
private int _value;
private CalculatorUI _ui;
public Calculator(CalculatorUI calculatorUI) {
_ui = calculatorUI;
_value = 0;
}
public void digit_0_keyPressed() {
_value = _value * 10 + 0;
_ui.updateDisplay();
}
public void digit_1_keyPressed() {
_value = _value * 10 + 1;
_ui.updateDisplay();
}
public void digit_2_keyPressed() {
_value = _value * 10 + 2;
_ui.updateDisplay();
}
public void digit_3_keyPressed() {
_value = _value * 10 + 3;
_ui.updateDisplay();
}
public void digit_4_keyPressed() {
_value = _value * 10 + 4;
_ui.updateDisplay();
}
public void digit_5_keyPressed() {
_value = _value * 10 + 5;
_ui.updateDisplay();
}
public void digit_6_keyPressed() {
_value = _value * 10 + 6;
_ui.updateDisplay();
}
public void digit_7_keyPressed() {
_value = _value * 10 + 7;
_ui.updateDisplay();
}
public void digit_8_keyPressed() {
_value = _value * 10 + 8;
_ui.updateDisplay();
}
public void digit_9_keyPressed() {
_value = _value * 10 + 9;
_ui.updateDisplay();
}
public void clear_keyPressed() {
_value = 0;
_ui.updateDisplay();
}
public int getValue() {
return _value;
}
public void divide_keyPressed() {
// TODO Define this method
}
public void multiply_keyPressed() {
// TODO Define this method
}
public void subtract_keyPressed() {
// TODO Define this method
}
public void add_keyPressed() {
// TODO Define this method
}
public void equal_keyPressed() {
// TODO Define this method
}
}
Explanation / Answer
public class Calculator {
private static final int BASE = 10;
private int _value;
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() {
// TODO Define this method
_value = _value + _a;
_ui.updateDisplay();
}
public void add_keyPressed() {
// TODO Define this method
_value = _a;
}
}
Part 2:
package part2.code;
import part2.user_interface.CalculatorUI;
import part1.code.Add;
import part2.operations.BinaryOperation;
public class Calculator {
private int _value;
private CalculatorUI _ui;
private BinaryOperation _bo;
private Add _addOperator;
private Subtract _subOperator;
private Multiply _mulOperator;
private Divide _divOperator;
public Calculator(CalculatorUI calculatorUI) {
_ui = calculatorUI;
_value = 0;
}
public void digit_0_keyPressed() {
_value = _value * 10 + 0;
_ui.updateDisplay();
}
public void digit_1_keyPressed() {
_value = _value * 10 + 1;
_ui.updateDisplay();
}
public void digit_2_keyPressed() {
_value = _value * 10 + 2;
_ui.updateDisplay();
}
public void digit_3_keyPressed() {
_value = _value * 10 + 3;
_ui.updateDisplay();
}
public void digit_4_keyPressed() {
_value = _value * 10 + 4;
_ui.updateDisplay();
}
public void digit_5_keyPressed() {
_value = _value * 10 + 5;
_ui.updateDisplay();
}
public void digit_6_keyPressed() {
_value = _value * 10 + 6;
_ui.updateDisplay();
}
public void digit_7_keyPressed() {
_value = _value * 10 + 7;
_ui.updateDisplay();
}
public void digit_8_keyPressed() {
_value = _value * 10 + 8;
_ui.updateDisplay();
}
public void digit_9_keyPressed() {
_value = _value * 10 + 9;
_ui.updateDisplay();
}
public void clear_keyPressed() {
_value = 0;
_ui.updateDisplay();
}
public int getValue() {
return _value;
}
public void divide_keyPressed() {
// TODO Define this method
_divOperator = new Divide(_value);
_value = 0;
}
public void multiply_keyPressed() {
// TODO Define this method
_mulOperator = new Multiply(_value);
_value = 0;
}
public void subtract_keyPressed() {
// TODO Define this method
_subOperator = new Subtract(_value);
_value = 0;
}
public void add_keyPressed() {
// TODO Define this method
_addOperator = new Add(_value);
_value = 0;
}
public void equal_keyPressed() {
// TODO Define this method
_value = _addOperator.perform(_value);
_ui.updateDisplay();
}
}
Part 3:
package part3.code;
import part3.user_interface.CalculatorUI;
import part1.code.Add;
import part2.operations.BinaryOperation;
public class Calculator {
private int _value;
private CalculatorUI _ui;
private BinaryOperation _bo;
private Add _addOperator;
private Subtract _subOperator;
private Multiply _mulOperator;
private Divide _divOperator;
public Calculator(CalculatorUI calculatorUI) {
_ui = calculatorUI;
_value = 0;
}
public void digit_0_keyPressed() {
_value = _value * 10 + 0;
_ui.updateDisplay();
}
public void digit_1_keyPressed() {
_value = _value * 10 + 1;
_ui.updateDisplay();
}
public void digit_2_keyPressed() {
_value = _value * 10 + 2;
_ui.updateDisplay();
}
public void digit_3_keyPressed() {
_value = _value * 10 + 3;
_ui.updateDisplay();
}
public void digit_4_keyPressed() {
_value = _value * 10 + 4;
_ui.updateDisplay();
}
public void digit_5_keyPressed() {
_value = _value * 10 + 5;
_ui.updateDisplay();
}
public void digit_6_keyPressed() {
_value = _value * 10 + 6;
_ui.updateDisplay();
}
public void digit_7_keyPressed() {
_value = _value * 10 + 7;
_ui.updateDisplay();
}
public void digit_8_keyPressed() {
_value = _value * 10 + 8;
_ui.updateDisplay();
}
public void digit_9_keyPressed() {
_value = _value * 10 + 9;
_ui.updateDisplay();
}
public void clear_keyPressed() {
_value = 0;
_ui.updateDisplay();
}
public int getValue() {
return _value;
}
public void divide_keyPressed() {
// TODO Define this method
_divOperator = new Divide(_value);
_value = 0;
}
public void multiply_keyPressed() {
// TODO Define this method
mulOperator = new Multiply(_value);
_value = 0;
}
public void subtract_keyPressed() {
// TODO Define this method
subOperator = new Subtract(_value);
_value = 0;
}
public void add_keyPressed() {
// TODO Define this method
_addOperator = new Add(_value);
_value = 0;
}
public void equal_keyPressed() {
// TODO Define this method
_value = _addOperator.perform(_value);
_ui.updateDisplay();
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.