From 58a2ad32a50fd451a2b134bd3b663b34e0b46437 Mon Sep 17 00:00:00 2001 From: candelaorellana599890 Date: Wed, 22 Apr 2026 14:36:40 +0200 Subject: [PATCH 1/7] Teilaufgabe1 --- src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java b/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java index ddff0da..2143555 100644 --- a/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -87,8 +87,15 @@ void testMultipleDecimalDots() { assertEquals(expected, actual); } +@Test +@DisplayName("should change the sign from positive to negative") + void firstGreenTest() { + Calculator calc = new Calculator(); + calc.pressDigitKey(1); + calc.pressNegativeKey(); + assertEquals("-1",calc.readScreen()); +} - //TODO hier weitere Tests erstellen } From d584aee531cee512f65b3b8c757a38198e256c05 Mon Sep 17 00:00:00 2001 From: candelaorellana599890 Date: Thu, 23 Apr 2026 15:46:38 +0200 Subject: [PATCH 2/7] Teilaufgabe2-rotertest --- .../htw/berlin/prog2/ha1/CalculatorTest.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java b/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java index 2143555..7c19610 100644 --- a/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java +++ b/src/test/java/htw/berlin/prog2/ha1/CalculatorTest.java @@ -96,6 +96,28 @@ void firstGreenTest() { assertEquals("-1",calc.readScreen()); } +@Test + @DisplayName("should not exist a -0") + void firstRedTest() { + Calculator calc = new Calculator(); + + calc.pressNegativeKey(); + assertEquals("0" , calc.readScreen()); +} + +@Test + @DisplayName("the clearkey should not clear all saved digitkeys.") + void secondRedTest() { + Calculator calc = new Calculator(); + calc.pressDigitKey(1); + calc.pressBinaryOperationKey("+"); + calc.pressDigitKey(1); + calc.pressClearKey(); + calc.pressDigitKey(2); + calc.pressEqualsKey(); + + assertEquals("3", calc.readScreen()); +} } From a61200ec9c6ef286a7396e76057f2c770fe59e0a Mon Sep 17 00:00:00 2001 From: candelaorellana599890 Date: Sat, 25 Apr 2026 16:26:19 +0200 Subject: [PATCH 3/7] =?UTF-8?q?Teilaufgabe3-rotertest=20sind=20jetzt=20gr?= =?UTF-8?q?=C3=BCner=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/htw/berlin/prog2/ha1/Calculator.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/htw/berlin/prog2/ha1/Calculator.java b/src/main/java/htw/berlin/prog2/ha1/Calculator.java index 84c04f2..0f6e611 100644 --- a/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -13,6 +13,7 @@ public class Calculator { private double latestValue; private String latestOperation = ""; + private boolean clearkey = false; /** * @return den aktuellen Bildschirminhalt als String @@ -45,9 +46,20 @@ public void pressDigitKey(int digit) { * im Ursprungszustand ist. */ public void pressClearKey() { - screen = "0"; - latestOperation = ""; - latestValue = 0.0; + //screen = "0"; + //latestOperation = ""; + //latestValue = 0.0; + + if (!clearkey) { + screen = "0"; + clearkey = true; + } else { + screen = "0"; + latestOperation = ""; + latestValue = 0.0; + clearkey =false; + + } } /** @@ -105,7 +117,11 @@ public void pressDotKey() { * entfernt und der Inhalt fortan als positiv interpretiert. */ public void pressNegativeKey() { - screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; + //screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; + if (screen.equals("0")) { + return; + } + screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; } /** From 55ea6192d3f69757907759a46489358819c4c0da Mon Sep 17 00:00:00 2001 From: candelaorellana599890 Date: Sat, 25 Apr 2026 16:28:52 +0200 Subject: [PATCH 4/7] =?UTF-8?q?Teilaufgabe3-rotertest=20sind=20jetzt=20gr?= =?UTF-8?q?=C3=BCner=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/htw/berlin/prog2/ha1/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/htw/berlin/prog2/ha1/Calculator.java b/src/main/java/htw/berlin/prog2/ha1/Calculator.java index 0f6e611..5748228 100644 --- a/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -21,7 +21,7 @@ public class Calculator { public String readScreen() { return screen; } - +// internet /** * Empfängt den Wert einer gedrückten Zifferntaste. Da man nur eine Taste auf einmal * drücken kann muss der Wert positiv und einstellig sein und zwischen 0 und 9 liegen. From 9b50ed9dd54d8d5db20d91ede87ecb6d3e24a7d9 Mon Sep 17 00:00:00 2001 From: candelaorellana599890 Date: Sat, 25 Apr 2026 18:46:08 +0200 Subject: [PATCH 5/7] =?UTF-8?q?Teilaufgabe3-rotertest=20sind=20jetzt=20gr?= =?UTF-8?q?=C3=BCner=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/htw/berlin/prog2/ha1/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/htw/berlin/prog2/ha1/Calculator.java b/src/main/java/htw/berlin/prog2/ha1/Calculator.java index 5748228..5867d54 100644 --- a/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -21,7 +21,7 @@ public class Calculator { public String readScreen() { return screen; } -// internet +// internet candela no funciona /** * Empfängt den Wert einer gedrückten Zifferntaste. Da man nur eine Taste auf einmal * drücken kann muss der Wert positiv und einstellig sein und zwischen 0 und 9 liegen. From 0cad343cca8e4638e2cdac8e2e8060b3f78fa7c1 Mon Sep 17 00:00:00 2001 From: candelaorellana599890 Date: Sat, 25 Apr 2026 18:56:41 +0200 Subject: [PATCH 6/7] =?UTF-8?q?Teilaufgabe3-rotertest=20sind=20jetzt=20gr?= =?UTF-8?q?=C3=BCner=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/htw/berlin/prog2/ha1/Calculator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/htw/berlin/prog2/ha1/Calculator.java b/src/main/java/htw/berlin/prog2/ha1/Calculator.java index 5867d54..3b977eb 100644 --- a/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -7,7 +7,7 @@ * Enthält mit Absicht noch diverse Bugs oder unvollständige Funktionen. */ public class Calculator { - +//s private String screen = "0"; private double latestValue; From 119f2a758bc44cd439f5e73bc45a67cbd72d0c7a Mon Sep 17 00:00:00 2001 From: candelaorellana599890 Date: Sat, 25 Apr 2026 22:55:45 +0200 Subject: [PATCH 7/7] Teilaufgabe3. JavaDoc --- .../java/htw/berlin/prog2/ha1/Calculator.java | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/main/java/htw/berlin/prog2/ha1/Calculator.java b/src/main/java/htw/berlin/prog2/ha1/Calculator.java index 3b977eb..1251d4c 100644 --- a/src/main/java/htw/berlin/prog2/ha1/Calculator.java +++ b/src/main/java/htw/berlin/prog2/ha1/Calculator.java @@ -2,7 +2,7 @@ /** * Eine Klasse, die das Verhalten des Online Taschenrechners imitiert, welcher auf - * https://www.online-calculator.com/ aufgerufen werden kann (ohne die Memory-Funktionen) + * ....https://www.online-calculator...com/ aufgerufen werden kann (ohne die Memory-Funktionen) * und dessen Bildschirm bis zu zehn Ziffern plus einem Dezimaltrennzeichen darstellen kann. * Enthält mit Absicht noch diverse Bugs oder unvollständige Funktionen. */ @@ -37,13 +37,20 @@ public void pressDigitKey(int digit) { screen = screen + digit; } + // /** + // * Empfängt den Befehl der C- bzw. CE-Taste (Clear bzw. Clear Entry). + // * Einmaliges Drücken der Taste löscht die zuvor eingegebenen Ziffern auf dem Bildschirm + // * so dass "0" angezeigt wird, jedoch ohne zuvor zwischengespeicherte Werte zu löschen. + // * Wird daraufhin noch einmal die Taste gedrückt, dann werden auch zwischengespeicherte + // * Werte sowie der aktuelle Operationsmodus zurückgesetzt, so dass der Rechner wieder + // * im Ursprungszustand ist. + // */ + + /** - * Empfängt den Befehl der C- bzw. CE-Taste (Clear bzw. Clear Entry). - * Einmaliges Drücken der Taste löscht die zuvor eingegebenen Ziffern auf dem Bildschirm - * so dass "0" angezeigt wird, jedoch ohne zuvor zwischengespeicherte Werte zu löschen. - * Wird daraufhin noch einmal die Taste gedrückt, dann werden auch zwischengespeicherte - * Werte sowie der aktuelle Operationsmodus zurückgesetzt, so dass der Rechner wieder - * im Ursprungszustand ist. + * Clears the display. + * First press = only the display is reset to "0" + * Second press = everything is reset. no more values saved. */ public void pressClearKey() { //screen = "0"; @@ -109,13 +116,21 @@ public void pressDotKey() { if(!screen.contains(".")) screen = screen + "."; } + // /** + // * Empfängt den Befehl der gedrückten Vorzeichenumkehrstaste ("+/-"). + // * Zeigt der Bildschirm einen positiven Wert an, so wird ein "-" links angehängt, der Bildschirm + // * aktualisiert und die Inhalt fortan als negativ interpretiert. + // * Zeigt der Bildschirm bereits einen negativen Wert mit führendem Minus an, dann wird dieses + // * entfernt und der Inhalt fortan als positiv interpretiert. + //*/ + /** - * Empfängt den Befehl der gedrückten Vorzeichenumkehrstaste ("+/-"). - * Zeigt der Bildschirm einen positiven Wert an, so wird ein "-" links angehängt, der Bildschirm - * aktualisiert und die Inhalt fortan als negativ interpretiert. - * Zeigt der Bildschirm bereits einen negativen Wert mit führendem Minus an, dann wird dieses - * entfernt und der Inhalt fortan als positiv interpretiert. + * if the number is positive, a minus sign comes to the front + * If the number is negative, the minus sign will be removed. + * if the display shows 0, the value remains. no changes */ + + public void pressNegativeKey() { //screen = screen.startsWith("-") ? screen.substring(1) : "-" + screen; if (screen.equals("0")) {