From c363e2814e42ed5cd66e2442a6a56d14520f17de Mon Sep 17 00:00:00 2001 From: mecca Date: Sun, 12 Jul 2026 14:56:08 -0400 Subject: [PATCH 1/9] Added add and subtract methods --- Bash | 0 src/main/TestScientificCalculator | 44 +++++++++++++++++++ .../ScientificCalculator.java | 35 +++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 Bash create mode 100644 src/main/TestScientificCalculator create mode 100644 src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java diff --git a/Bash b/Bash new file mode 100644 index 00000000..e69de29b diff --git a/src/main/TestScientificCalculator b/src/main/TestScientificCalculator new file mode 100644 index 00000000..a3e4f699 --- /dev/null +++ b/src/main/TestScientificCalculator @@ -0,0 +1,44 @@ +package com.zipcodewilmington.scientificcalculator; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class TestScientificCalculator { + + @Test + void newCalculatorShouldStartAtZero() { + ScientificCalculator calculator = new ScientificCalculator(); + + assertEquals(0, calculator.getDisplay()); + } + + @Test + void setDisplayShouldChangeDisplay() { + ScientificCalculator calculator = new ScientificCalculator(); + + calculator.setDisplay(25); + + assertEquals(25, calculator.getDisplay()); + } + + @Test + void clearShouldResetDisplayToZero() { + ScientificCalculator calculator = new ScientificCalculator(); + + calculator.setDisplay(25); + calculator.clear(); + + assertEquals(0, calculator.getDisplay()); + } + + @Test + void addShouldUpdateDisplay() { + ScientificCalculator calculator = new ScientificCalculator(); + + calculator.setDisplay(5); + calculator.add(3); + + assertEquals(8, calculator.getDisplay()); + } +} \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java new file mode 100644 index 00000000..b0b76a87 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java @@ -0,0 +1,35 @@ +package com.zipcodewilmington.scientificcalculator; + +public class ScientificCalculator { + + private double display; + private double memory; + private boolean error; + private String displayMode; + private String unitsMode; + + public ScientificCalculator() { + display = 0; + memory = 0; + error = false; + displayMode = "decimal"; + unitsMode = "degrees"; + } + + public double getDisplay() { + return display; + } + public void setDisplay(double value) { + display = value; } + public void clear() { + display = 0; + error = false; + } + public void add(double value) { + display = display + value; + } + public void subtract(double value) { + display = display - value; +} + +} From a83ac32877dfc34283524bea6c5ac6621b814a47 Mon Sep 17 00:00:00 2001 From: mecca Date: Sun, 12 Jul 2026 17:42:32 -0400 Subject: [PATCH 2/9] Completed core calculator operations --- .../scientificcalculator/MainApplication.java | 16 +++++++------- .../ScientificCalculator.java | 21 ++++++++++++++++++- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index 5f421325..f27facea 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -5,13 +5,13 @@ */ public class MainApplication { public static void main(String[] args) { - Console.println("Welcome to my calculator!"); - String s = Console.getStringInput("Enter a string"); - Integer i = Console.getIntegerInput("Enter an integer"); - Double d = Console.getDoubleInput("Enter a double."); - Console.println("The user input %s as a string", s); - Console.println("The user input %s as a integer", i); - Console.println("The user input %s as a d", d); - } + ScientificCalculator calculator = new ScientificCalculator(); + + calculator.setDisplay(5); + + calculator.square(); + + Console.println("Result: %s", calculator.getDisplay()); +} } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java index b0b76a87..50860556 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java @@ -31,5 +31,24 @@ public void add(double value) { public void subtract(double value) { display = display - value; } - + public void multiply(double value) { + display = display * value; +} + public void divide(double value) { + if (value == 0) { + error = true; + } else { + display = display / value; + } +} + public void square() { + display = display * display; +} + public void squareRoot() { + if (display < 0) { + error = true; + } else { + display = Math.sqrt(display); + } + } } From 91a2c9a17eedefda37e0072418325abbd43e3620 Mon Sep 17 00:00:00 2001 From: mecca Date: Sun, 12 Jul 2026 18:47:22 -0400 Subject: [PATCH 3/9] Completed remainingcalculator operations --- .../scientificcalculator/MainApplication.java | 2 +- .../scientificcalculator/ScientificCalculator.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index f27facea..9a348c0f 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -10,7 +10,7 @@ public static void main(String[] args) { calculator.setDisplay(5); - calculator.square(); + calculator.switchSign(); Console.println("Result: %s", calculator.getDisplay()); } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java index 50860556..1c46ac16 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java @@ -51,4 +51,17 @@ public void squareRoot() { display = Math.sqrt(display); } } + public void inverse() { + if (display == 0) { + error = true; + } else { + display = 1 / display; + } + } + public void switchSign() { + display = -display; + } + public void power(double exponent) { + display = Math.pow(display, exponent); + } } From ac8597a2e9c0d5e0db5abaad2a17574efa431728 Mon Sep 17 00:00:00 2001 From: terrik Date: Sun, 12 Jul 2026 20:14:31 -0400 Subject: [PATCH 4/9] Added trigonometric functions and tests --- .../scientificcalculator/Console.java | 6 +-- .../scientificcalculator/MainApplication.java | 15 +++--- .../ScientificCalculator.java | 50 +++++++++++++++++++ 3 files changed, 61 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java b/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java index 83f0e97f..f02d615f 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/Console.java @@ -2,9 +2,6 @@ import java.util.Scanner; -/** - * Created by leon on 2/9/18. - */ public class Console { public static void print(String output, Object... args) { @@ -30,3 +27,6 @@ public static Double getDoubleInput(String prompt) { return null; } } + + + diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index 5f421325..ebd3a2e3 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -5,13 +5,14 @@ */ public class MainApplication { public static void main(String[] args) { - Console.println("Welcome to my calculator!"); - String s = Console.getStringInput("Enter a string"); - Integer i = Console.getIntegerInput("Enter an integer"); - Double d = Console.getDoubleInput("Enter a double."); + + ScientificCalculator calculator = new ScientificCalculator(); + + calculator.setDisplay(45); + + calculator.tangent(); + + Console.println("Result: %s", calculator.getDisplay()); - Console.println("The user input %s as a string", s); - Console.println("The user input %s as a integer", i); - Console.println("The user input %s as a d", d); } } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java index b0b76a87..f5b6ff4d 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java @@ -32,4 +32,54 @@ public void subtract(double value) { display = display - value; } +public void switchUnitsMode(String mode) { + if (mode.equalsIgnoreCase("degrees") || mode.equalsIgnoreCase("radians")) { + unitsMode = mode.toLowerCase(); + } } + +public void sine() { + if (unitsMode.equals("degrees")) { + display = Math.sin(Math.toRadians(display)); + } else { + display = Math.sin(display); + } +} + +public void cosine() { + if (unitsMode.equals("degrees")) { + display = Math.cos(Math.toRadians(display)); + } else { + display = Math.cos(display); + } +} +public void tangent() { + if (unitsMode.equals("degrees")) { + display = Math.tan(Math.toRadians(display)); + } else { + display = Math.tan(display); + } + } + + public void inverseSine() { + if (unitsMode.equals("degrees")) { + display = Math.toDegrees(Math.asin(display)); + } else { + display = Math.asin(display); + } + } + public void inverseCosine() { + if (unitsMode.equals("degrees")) { + display = Math.toDegrees(Math.acos(display)); + } else { + display = Math.acos(display); + } +}public void inverseTangent() { + if (unitsMode.equals("degrees")) { + display = Math.toDegrees(Math.atan(display)); + } else { + display = Math.atan(display); + } + } +} + From 18f2a733a68d958e4bbe1b194aa0367c4c22939e Mon Sep 17 00:00:00 2001 From: terrik Date: Sun, 12 Jul 2026 20:55:08 -0400 Subject: [PATCH 5/9] Finished trig functions and unit mode --- .../ScientificCalculator.java | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java index f5b6ff4d..b882f86a 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java @@ -6,7 +6,7 @@ public class ScientificCalculator { private double memory; private boolean error; private String displayMode; - private String unitsMode; + private String unitsMode = "degrees"; public ScientificCalculator() { display = 0; @@ -19,25 +19,22 @@ public ScientificCalculator() { public double getDisplay() { return display; } + public void setDisplay(double value) { display = value; } public void clear() { display = 0; error = false; } + public void add(double value) { display = display + value; } + public void subtract(double value) { display = display - value; } -public void switchUnitsMode(String mode) { - if (mode.equalsIgnoreCase("degrees") || mode.equalsIgnoreCase("radians")) { - unitsMode = mode.toLowerCase(); - } -} - public void sine() { if (unitsMode.equals("degrees")) { display = Math.sin(Math.toRadians(display)); @@ -46,6 +43,10 @@ public void sine() { } } +public String getUnitsMode() { + return unitsMode; +} + public void cosine() { if (unitsMode.equals("degrees")) { display = Math.cos(Math.toRadians(display)); @@ -53,6 +54,7 @@ public void cosine() { display = Math.cos(display); } } + public void tangent() { if (unitsMode.equals("degrees")) { display = Math.tan(Math.toRadians(display)); @@ -68,18 +70,36 @@ public void inverseSine() { display = Math.asin(display); } } + public void inverseCosine() { if (unitsMode.equals("degrees")) { display = Math.toDegrees(Math.acos(display)); } else { display = Math.acos(display); } -}public void inverseTangent() { +} + +public void inverseTangent() { if (unitsMode.equals("degrees")) { display = Math.toDegrees(Math.atan(display)); } else { display = Math.atan(display); } } + +public void switchUnitsMode() { + if (unitsMode.equals("degrees")) { + unitsMode = "radians"; + } else { + unitsMode = "degrees"; + } } +public void switchUnitsMode(String mode) { + if (mode.equalsIgnoreCase("degrees")) { + unitsMode = "degrees"; + } else if (mode.equalsIgnoreCase("radians")) { + unitsMode = "radians"; + } +} +} From 70967d051ddfa58e8ecc1ac95070b1aa6bb2e0da Mon Sep 17 00:00:00 2001 From: terrik Date: Mon, 13 Jul 2026 08:20:29 -0400 Subject: [PATCH 6/9] unknown changes? --- .../ScientificCalculator.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java index be4df887..70f39c81 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java @@ -1,7 +1,7 @@ package com.zipcodewilmington.scientificcalculator; public class ScientificCalculator { - + private double display; private double memory; private boolean error; @@ -34,4 +34,18 @@ public void add(double value) { public void subtract(double value) { display = display - value; } +public void memoryAdd() { + memory += display; } +public void memoryRecall() { + display = memory; +} +public void memoryClear() { + memory = 0; +} +public double getMemory() { + return memory; +} +} + + From 6c26b01fb7c7f2c25baf164beff433288a9d1966 Mon Sep 17 00:00:00 2001 From: terrik Date: Mon, 13 Jul 2026 12:04:11 -0400 Subject: [PATCH 7/9] Restore memory, display, trig, unit, and log functions --- src/main/TestScientificCalculator | 3 +- .../scientificcalculator/MainApplication.java | 18 +---- .../ScientificCalculator.java | 74 ++++++++++++++++--- 3 files changed, 68 insertions(+), 27 deletions(-) diff --git a/src/main/TestScientificCalculator b/src/main/TestScientificCalculator index a3e4f699..21c13337 100644 --- a/src/main/TestScientificCalculator +++ b/src/main/TestScientificCalculator @@ -37,7 +37,8 @@ public class TestScientificCalculator { ScientificCalculator calculator = new ScientificCalculator(); calculator.setDisplay(5); - calculator.add(3); + calculator.tan(); + assertEquals(8, calculator.getDisplay()); } diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java index f4677577..e2fc2dbf 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/MainApplication.java @@ -1,30 +1,16 @@ package com.zipcodewilmington.scientificcalculator; -/** - * Created by leon on 2/9/18. - */ public class MainApplication { public static void main(String[] args) { -<<<<<<< HEAD ScientificCalculator calculator = new ScientificCalculator(); calculator.setDisplay(45); - calculator.tangent(); + calculator.add(5); Console.println("Result: %s", calculator.getDisplay()); } -======= - - ScientificCalculator calculator = new ScientificCalculator(); - - calculator.setDisplay(5); - - calculator.switchSign(); - - Console.println("Result: %s", calculator.getDisplay()); -} ->>>>>>> master } + diff --git a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java index 70f39c81..b882f86a 100644 --- a/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java +++ b/src/main/java/com/zipcodewilmington/scientificcalculator/ScientificCalculator.java @@ -1,7 +1,7 @@ package com.zipcodewilmington.scientificcalculator; public class ScientificCalculator { - + private double display; private double memory; private boolean error; @@ -34,18 +34,72 @@ public void add(double value) { public void subtract(double value) { display = display - value; } -public void memoryAdd() { - memory += display; -} -public void memoryRecall() { - display = memory; + +public void sine() { + if (unitsMode.equals("degrees")) { + display = Math.sin(Math.toRadians(display)); + } else { + display = Math.sin(display); + } } -public void memoryClear() { - memory = 0; + +public String getUnitsMode() { + return unitsMode; } -public double getMemory() { - return memory; + +public void cosine() { + if (unitsMode.equals("degrees")) { + display = Math.cos(Math.toRadians(display)); + } else { + display = Math.cos(display); + } } + +public void tangent() { + if (unitsMode.equals("degrees")) { + display = Math.tan(Math.toRadians(display)); + } else { + display = Math.tan(display); + } + } + + public void inverseSine() { + if (unitsMode.equals("degrees")) { + display = Math.toDegrees(Math.asin(display)); + } else { + display = Math.asin(display); + } + } + + public void inverseCosine() { + if (unitsMode.equals("degrees")) { + display = Math.toDegrees(Math.acos(display)); + } else { + display = Math.acos(display); + } } +public void inverseTangent() { + if (unitsMode.equals("degrees")) { + display = Math.toDegrees(Math.atan(display)); + } else { + display = Math.atan(display); + } + } + +public void switchUnitsMode() { + if (unitsMode.equals("degrees")) { + unitsMode = "radians"; + } else { + unitsMode = "degrees"; + } +} +public void switchUnitsMode(String mode) { + if (mode.equalsIgnoreCase("degrees")) { + unitsMode = "degrees"; + } else if (mode.equalsIgnoreCase("radians")) { + unitsMode = "radians"; + } +} +} From 518edc82899f6018cf243b2870640becbaf53c41 Mon Sep 17 00:00:00 2001 From: mecca Date: Mon, 13 Jul 2026 12:53:20 -0400 Subject: [PATCH 8/9] Add calculator GUI --- .../com/zipcodewilmington/CalculatorGUI.java | 241 ++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 src/main/java/com/zipcodewilmington/CalculatorGUI.java diff --git a/src/main/java/com/zipcodewilmington/CalculatorGUI.java b/src/main/java/com/zipcodewilmington/CalculatorGUI.java new file mode 100644 index 00000000..22fa3d09 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/CalculatorGUI.java @@ -0,0 +1,241 @@ +package com.zipcodewilmington.scientificcalculator; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Font; +import java.awt.GridLayout; + +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.SwingConstants; +import javax.swing.SwingUtilities; + +public class CalculatorGUI { + + private static final Color PINK = new Color(255, 105, 180); + private static final Color YELLOW = new Color(255, 215, 0); + private static final Color LIGHT_PINK = new Color(255, 230, 240); + + private final ScientificCalculator calculator; + private final JTextField displayField; + + private String pendingOperator = ""; + private boolean startNewNumber = true; + + public CalculatorGUI() { + calculator = new ScientificCalculator(); + displayField = new JTextField("0"); + + createWindow(); + } + + private void createWindow() { + JFrame frame = new JFrame("Team TI Scientific Calculator"); + + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setSize(420, 560); + frame.setLayout(new BorderLayout(10, 10)); + + JPanel mainPanel = new JPanel(new BorderLayout(10, 10)); + mainPanel.setBackground(LIGHT_PINK); + mainPanel.setBorder(BorderFactory.createEmptyBorder(15, 15, 15, 15)); + + JLabel title = new JLabel( + "Team TI SCIENTIFIC CALCULATOR", + SwingConstants.CENTER + ); + + title.setFont(new Font("Arial", Font.BOLD, 22)); + title.setOpaque(true); + title.setBackground(YELLOW); + title.setForeground(Color.BLACK); + title.setBorder(BorderFactory.createEmptyBorder(12, 8, 12, 8)); + + displayField.setEditable(false); + displayField.setHorizontalAlignment(JTextField.RIGHT); + displayField.setFont(new Font("Arial", Font.BOLD, 34)); + displayField.setBackground(Color.WHITE); + displayField.setBorder( + BorderFactory.createLineBorder(PINK, 4) + ); + + JPanel topPanel = new JPanel(new BorderLayout(0, 10)); + topPanel.setBackground(LIGHT_PINK); + topPanel.add(title, BorderLayout.NORTH); + topPanel.add(displayField, BorderLayout.CENTER); + + JPanel buttonPanel = new JPanel(new GridLayout(6, 4, 8, 8)); + buttonPanel.setBackground(LIGHT_PINK); + + String[] buttons = { + "7", "8", "9", "÷", + "4", "5", "6", "×", + "1", "2", "3", "−", + "0", ".", "=", "+", + "C", "x²", "√", "+/−", + "1/x", "xʸ", "", "" + }; + + for (String label : buttons) { + JButton button = new JButton(label); + + if (label.isEmpty()) { + button.setEnabled(false); + } + + button.setFont(new Font("Arial", Font.BOLD, 18)); + button.setFocusPainted(false); + + if (isOperator(label)) { + button.setBackground(PINK); + button.setForeground(Color.WHITE); + } else { + button.setBackground(YELLOW); + button.setForeground(Color.BLACK); + } + + button.addActionListener(event -> handleButton(label)); + buttonPanel.add(button); + } + + mainPanel.add(topPanel, BorderLayout.NORTH); + mainPanel.add(buttonPanel, BorderLayout.CENTER); + + frame.add(mainPanel); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + } + + private boolean isOperator(String label) { + return label.equals("+") + || label.equals("−") + || label.equals("×") + || label.equals("÷") + || label.equals("=") + || label.equals("C"); + } + + private void handleButton(String label) { + if (label.matches("[0-9]") || label.equals(".")) { + enterNumber(label); + return; + } + + switch (label) { + case "+": + case "−": + case "×": + case "÷": + case "xʸ": + chooseOperator(label); + break; + + case "=": + calculateResult(); + break; + + case "C": + clearCalculator(); + break; + + case "x²": + calculator.setDisplay(readDisplay()); + calculator.square(); + updateDisplay(); + break; + + case "√": + calculator.setDisplay(readDisplay()); + calculator.squareRoot(); + updateDisplay(); + break; + + case "+/−": + calculator.setDisplay(readDisplay()); + calculator.switchSign(); + updateDisplay(); + break; + + case "1/x": + calculator.setDisplay(readDisplay()); + calculator.inverse(); + updateDisplay(); + break; + } + } + + private void enterNumber(String value) { + if (startNewNumber) { + displayField.setText(""); + startNewNumber = false; + } + + if (value.equals(".") && displayField.getText().contains(".")) { + return; + } + + displayField.setText(displayField.getText() + value); + } + + private void chooseOperator(String operator) { + calculator.setDisplay(readDisplay()); + pendingOperator = operator; + startNewNumber = true; + } + + private void calculateResult() { + double secondNumber = readDisplay(); + + switch (pendingOperator) { + case "+": + calculator.add(secondNumber); + break; + + case "−": + calculator.subtract(secondNumber); + break; + + case "×": + calculator.multiply(secondNumber); + break; + + case "÷": + calculator.divide(secondNumber); + break; + + case "xʸ": + calculator.power(secondNumber); + break; + } + + updateDisplay(); + pendingOperator = ""; + } + + private void clearCalculator() { + calculator.clear(); + displayField.setText("0"); + pendingOperator = ""; + startNewNumber = true; + } + + private double readDisplay() { + return Double.parseDouble(displayField.getText()); + } + + private void updateDisplay() { + displayField.setText( + String.valueOf(calculator.getDisplay()) + ); + + startNewNumber = true; + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(CalculatorGUI::new); + } +} \ No newline at end of file From b33773974b2414bddac0d82922d4f9196b474523 Mon Sep 17 00:00:00 2001 From: terrik Date: Mon, 13 Jul 2026 13:17:59 -0400 Subject: [PATCH 9/9] Move CalculatorGUI into scientificcalculator package --- .../{ => scientificcalculator}/CalculatorGUI.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/com/zipcodewilmington/{ => scientificcalculator}/CalculatorGUI.java (100%) diff --git a/src/main/java/com/zipcodewilmington/CalculatorGUI.java b/src/main/java/com/zipcodewilmington/scientificcalculator/CalculatorGUI.java similarity index 100% rename from src/main/java/com/zipcodewilmington/CalculatorGUI.java rename to src/main/java/com/zipcodewilmington/scientificcalculator/CalculatorGUI.java