Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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();

   }

}