From fb6fbd39cc87032a6392a19152584516cfef85e4 Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 19:02:29 +0200 Subject: [PATCH 01/16] neue JUnit Test Case und neue Klasse Klasse Entscheider mit Methoden die noch nichts tun JUnit Test Case der prueft ob Methoden richtig nichts tun --- .../com/ugsbo/entscheider/Entscheider.java | 42 +++++++++++++++++++ .../com/ugsbo/entscheider/package-info.java | 8 ++++ .../JUnitEntscheiderErgebnisTest.java | 21 ++++++++++ .../com/ugsbo/entscheider/package-info.java | 1 + 4 files changed, 72 insertions(+) create mode 100644 src/main/java/com/ugsbo/entscheider/Entscheider.java create mode 100644 src/main/java/com/ugsbo/entscheider/package-info.java create mode 100644 src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java create mode 100644 src/test/java/com/ugsbo/entscheider/package-info.java diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java new file mode 100644 index 0000000..119b029 --- /dev/null +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -0,0 +1,42 @@ + +/** + * + */ +package com.ugsbo.entscheider; + +import java.util.Scanner; +/** + * @author bruec + * + */ +public class Entscheider { + + /** + * @param args + */ + public static void main(String[] args) { + + + } + + public static String ergebnis(int a, int b, int c, int d, int e, int f, int g, int h) { + return ""; + } + + public static String fragen() { + return ""; + } + + public static int skalaTest(int answer){ + return 0; + } + + public static int getAnInteger() { + return 0; + } + + public static int pruefen(int answer) { + return 0; + } + +} diff --git a/src/main/java/com/ugsbo/entscheider/package-info.java b/src/main/java/com/ugsbo/entscheider/package-info.java new file mode 100644 index 0000000..1d5b0b5 --- /dev/null +++ b/src/main/java/com/ugsbo/entscheider/package-info.java @@ -0,0 +1,8 @@ +/** + * + */ +/** + * @author bruec + * + */ +package com.ugsbo.entscheider; \ No newline at end of file diff --git a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java new file mode 100644 index 0000000..984f11e --- /dev/null +++ b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java @@ -0,0 +1,21 @@ +package com.ugsbo.entscheider; + +import static org.junit.Assert.*; + + +import org.junit.Assert; +import org.junit.Test; + +public class JUnitEntscheiderErgebnisTest { + + + + @Test + public void test() { + Assert.assertTrue("" == Entscheider.ergebnis(1,1,12,3,1,1,1,1)); + Assert.assertTrue(Entscheider.skalaTest(11) >= 1 || Entscheider.skalaTest(11)<= 10 ); + Assert.assertTrue(0 == Entscheider.pruefen(2) || 1 == Entscheider.pruefen(2)); + //fail("Not yet implemented"); + } + +} diff --git a/src/test/java/com/ugsbo/entscheider/package-info.java b/src/test/java/com/ugsbo/entscheider/package-info.java new file mode 100644 index 0000000..ba86aff --- /dev/null +++ b/src/test/java/com/ugsbo/entscheider/package-info.java @@ -0,0 +1 @@ +package com.ugsbo.entscheider; \ No newline at end of file From 2121b9e7e0326843425091027176f25ced3b3e8b Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 19:08:58 +0200 Subject: [PATCH 02/16] Methode getAnInteger() implementiert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fordert EIngabe über die Kommandozeile, bis ein Integer eingeben wurde --- .../java/com/ugsbo/entscheider/Entscheider.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java index 119b029..8bdcc1c 100644 --- a/src/main/java/com/ugsbo/entscheider/Entscheider.java +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -5,6 +5,7 @@ package com.ugsbo.entscheider; import java.util.Scanner; +import java.util.*; /** * @author bruec * @@ -32,7 +33,17 @@ public class Entscheider { } public static int getAnInteger() { - return 0; + Scanner in = new Scanner(System.in); + while (true){ + try{ + return getAnInteger(); + } + catch (InputMismatchException e){ + getAnInteger(); + System.out.print("Das ist kein Integer. Try again."); + } + } + } public static int pruefen(int answer) { From f250f095995344bb50d25ee844da226021d41509 Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 19:43:31 +0200 Subject: [PATCH 03/16] Korrektur der TestKlasse Tests wurden aufgeteilt und pruefenTest() wurde korrigiert --- .../JUnitEntscheiderErgebnisTest.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java index 984f11e..975decd 100644 --- a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java +++ b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java @@ -11,11 +11,22 @@ public class JUnitEntscheiderErgebnisTest { @Test - public void test() { - Assert.assertTrue("" == Entscheider.ergebnis(1,1,12,3,1,1,1,1)); + public void skalaTestTest() { + Assert.assertTrue(Entscheider.skalaTest(11) >= 1 || Entscheider.skalaTest(11)<= 10 ); - Assert.assertTrue(0 == Entscheider.pruefen(2) || 1 == Entscheider.pruefen(2)); + //fail("Not yet implemented"); } + + @Test + public void ergebnisTest() { + Assert.assertTrue("" == Entscheider.ergebnis(1,1,1,1,1,1,1,1)); + } + + @Test + public void pruefenTest() { + int a = Entscheider.pruefen(2); + Assert.assertTrue(0 == a || 1 == a); + } } From c931a740ee155400add65da6c1dfa68cf63fd900 Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 19:45:37 +0200 Subject: [PATCH 04/16] Korrektur und Implementierung Korrektur der Methode getAnInteger() Implementieren der Methode pruefen() --- .../com/ugsbo/entscheider/Entscheider.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java index 8bdcc1c..42075e8 100644 --- a/src/main/java/com/ugsbo/entscheider/Entscheider.java +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -16,7 +16,7 @@ public class Entscheider { * @param args */ public static void main(String[] args) { - + System.out.println(pruefen(2)); } @@ -36,18 +36,25 @@ public class Entscheider { Scanner in = new Scanner(System.in); while (true){ try{ - return getAnInteger(); + return in.nextInt(); } catch (InputMismatchException e){ - getAnInteger(); - System.out.print("Das ist kein Integer. Try again."); + in.next(); + System.out.println("Das ist kein Integer. Try again."); } } - } + public static int pruefen(int answer) { - return 0; + System.out.println("Try again. Nur 1 und 0 sind erlaubt."); + Scanner in = new Scanner(System.in); + int b = getAnInteger(); + if(b == 1 || b == 0) { + return b; + } + pruefen(b); + return 1; } } From 97981358b70df89c027a634fa6cf810329710dbd Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 19:50:16 +0200 Subject: [PATCH 05/16] Korrektur von skalaTestTest --- .../com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java index 975decd..fc12a20 100644 --- a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java +++ b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java @@ -12,8 +12,8 @@ public class JUnitEntscheiderErgebnisTest { @Test public void skalaTestTest() { - - Assert.assertTrue(Entscheider.skalaTest(11) >= 1 || Entscheider.skalaTest(11)<= 10 ); + int a = Entscheider.skalaTest(11); + Assert.assertTrue(a >= 1 || a <= 10 ); //fail("Not yet implemented"); } From c317fbe035136013a7e1b530344def702c7da9a6 Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 19:52:35 +0200 Subject: [PATCH 06/16] Implementierung Methode skalaTest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit die Methode stellt sicher, dass auch wirklich nur Werte zwischen 1 und 10 eingegeben werden können --- src/main/java/com/ugsbo/entscheider/Entscheider.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java index 42075e8..84ad83e 100644 --- a/src/main/java/com/ugsbo/entscheider/Entscheider.java +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -29,7 +29,13 @@ public class Entscheider { } public static int skalaTest(int answer){ - return 0; + System.out.println("Try again. Nur Werte zwischen 1 und 10 sind erlaubt."); + int b = getAnInteger(); + if(b >= 1 && b <= 10) { + return b; + } + skalaTest(b); + return -1; } public static int getAnInteger() { @@ -48,7 +54,6 @@ public class Entscheider { public static int pruefen(int answer) { System.out.println("Try again. Nur 1 und 0 sind erlaubt."); - Scanner in = new Scanner(System.in); int b = getAnInteger(); if(b == 1 || b == 0) { return b; From f4d2f14195419617f1350eb687e991ef6d062c20 Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 20:00:03 +0200 Subject: [PATCH 07/16] neuer Test + Korrektur Test ergebnisTest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit neuer Test für die Methode fragen() und Test für die Methode ergebnis() wurde korrigiert --- .../entscheider/JUnitEntscheiderErgebnisTest.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java index fc12a20..efe3f59 100644 --- a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java +++ b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java @@ -15,12 +15,12 @@ public class JUnitEntscheiderErgebnisTest { int a = Entscheider.skalaTest(11); Assert.assertTrue(a >= 1 || a <= 10 ); - //fail("Not yet implemented"); } @Test public void ergebnisTest() { - Assert.assertTrue("" == Entscheider.ergebnis(1,1,1,1,1,1,1,1)); + String a = Entscheider.ergebnis(1,1,1,1,1,1,1,1); + Assert.assertTrue(a == "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen." ); } @Test @@ -28,5 +28,11 @@ public class JUnitEntscheiderErgebnisTest { int a = Entscheider.pruefen(2); Assert.assertTrue(0 == a || 1 == a); } + + @Test + public void fragen() { + String a = Entscheider.fragen(); + Assert.assertTrue(a == "" ); + } } From 82d12b024dabc980c0e2971ee78f342a3f9d225e Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 20:04:16 +0200 Subject: [PATCH 08/16] Implementierung der Methode ergebnis() rechnet Ergebnisse zusammen und wertet sie aus --- src/main/java/com/ugsbo/entscheider/Entscheider.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java index 84ad83e..85577f4 100644 --- a/src/main/java/com/ugsbo/entscheider/Entscheider.java +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -21,7 +21,10 @@ public class Entscheider { } public static String ergebnis(int a, int b, int c, int d, int e, int f, int g, int h) { - return ""; + int erg = (((a + b + c) * d ) /e + f + g) - h; + String hilfe = ""; + if(erg < 5) hilfe = "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen."; + return hilfe; } public static String fragen() { From 6602891e5ccddec9e42012a12bc4a0c5595a536d Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 20:21:25 +0200 Subject: [PATCH 09/16] neuer Testfall in ergebnisTest --- .../com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java index efe3f59..0a6679b 100644 --- a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java +++ b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java @@ -21,6 +21,8 @@ public class JUnitEntscheiderErgebnisTest { public void ergebnisTest() { String a = Entscheider.ergebnis(1,1,1,1,1,1,1,1); Assert.assertTrue(a == "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen." ); + String b = Entscheider.ergebnis(21,1,1,3,2,1,1,4); + Assert.assertTrue(b == "Naja, dann geh halt nach Hause und ruh dich aus."); } @Test From 5764865bd2ef28f9f4bb0389a071a1c559589cc2 Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 20:22:45 +0200 Subject: [PATCH 10/16] =?UTF-8?q?Erg=C3=A4nzung=20in=20Methode=20ergebnis(?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ein neuer Fall wurde ergänzt -> Test grün --- src/main/java/com/ugsbo/entscheider/Entscheider.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java index 85577f4..544cab4 100644 --- a/src/main/java/com/ugsbo/entscheider/Entscheider.java +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -16,14 +16,17 @@ public class Entscheider { * @param args */ public static void main(String[] args) { - System.out.println(pruefen(2)); + System.out.println(ergebnis(21,1,1,3,2,1,1,4)); + System.out.println("test"); } public static String ergebnis(int a, int b, int c, int d, int e, int f, int g, int h) { - int erg = (((a + b + c) * d ) /e + f + g) - h; + int erg = (((a + b + c) * d ) /(e + f + g)) - h; String hilfe = ""; if(erg < 5) hilfe = "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen."; + if(erg >= 5 && erg < 15) hilfe = "Naja, dann geh halt nach Hause und ruh dich aus."; + return hilfe; } From 966d76e12dc9a40726002e7c3784dd4468baccff Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 20:29:48 +0200 Subject: [PATCH 11/16] Erweiterung des Tests ergebnisTest und neuer Fall in ergebnis() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jetzt sind alle möglichen Ergebnisse abgedeckt --- src/main/java/com/ugsbo/entscheider/Entscheider.java | 5 +++-- .../com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java index 544cab4..0d9f07a 100644 --- a/src/main/java/com/ugsbo/entscheider/Entscheider.java +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -16,8 +16,8 @@ public class Entscheider { * @param args */ public static void main(String[] args) { - System.out.println(ergebnis(21,1,1,3,2,1,1,4)); - System.out.println("test"); + System.out.println(ergebnis(29,1,1,3,2,1,1,4)); + } @@ -26,6 +26,7 @@ public class Entscheider { String hilfe = ""; if(erg < 5) hilfe = "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen."; if(erg >= 5 && erg < 15) hilfe = "Naja, dann geh halt nach Hause und ruh dich aus."; + if(erg >= 15) hilfe = "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin."; return hilfe; } diff --git a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java index 0a6679b..6effb95 100644 --- a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java +++ b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java @@ -23,6 +23,8 @@ public class JUnitEntscheiderErgebnisTest { Assert.assertTrue(a == "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen." ); String b = Entscheider.ergebnis(21,1,1,3,2,1,1,4); Assert.assertTrue(b == "Naja, dann geh halt nach Hause und ruh dich aus."); + String c = Entscheider.ergebnis(29,0,1,3,2,0,1,2); + Assert.assertTrue(c == "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin."); } @Test From 944ee04702ca7bbc8d61f28c90e053d48ec0151a Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 20:36:02 +0200 Subject: [PATCH 12/16] =?UTF-8?q?=C3=84nderungen=20in=20Test=20fragenTest(?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Methode fragen() muss erst noch implementiert werden deshalb ist der Test noch rot --- .../com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java index 6effb95..a56ba96 100644 --- a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java +++ b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java @@ -34,9 +34,9 @@ public class JUnitEntscheiderErgebnisTest { } @Test - public void fragen() { + public void fragenTest() { String a = Entscheider.fragen(); - Assert.assertTrue(a == "" ); + Assert.assertTrue(a == "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen." || a == "Naja, dann geh halt nach Hause und ruh dich aus." || a == "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin." ); } } From 6fe47fb798aab880e4e93c6befbcfbc6d3cfda02 Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 20:42:44 +0200 Subject: [PATCH 13/16] kleiner Fehlerkorrektur im Test --- .../com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java index a56ba96..9963170 100644 --- a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java +++ b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java @@ -36,7 +36,7 @@ public class JUnitEntscheiderErgebnisTest { @Test public void fragenTest() { String a = Entscheider.fragen(); - Assert.assertTrue(a == "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen." || a == "Naja, dann geh halt nach Hause und ruh dich aus." || a == "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin." ); + Assert.assertTrue((a == "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen.") ||( a == "Naja, dann geh halt nach Hause und ruh dich aus." )|| (a == "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin.") || (a == "Na dann halt nicht. Tschüssi.")); } } From e35f176f6bdce6cc7747ccee346a97b0351de0a8 Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 20:44:38 +0200 Subject: [PATCH 14/16] Implementierung der Methode fragen() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit hier werden 9 verschiedene Fragen gestellt, die Ergebnisse werden an die Methode ergebnis() weitergegeben welche sie asuwertet und wieder an die Methode fragen() zurückgibt - diese gibt das Ergebnis dann aus --- .../com/ugsbo/entscheider/Entscheider.java | 154 +++++++++++++++--- 1 file changed, 133 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java index 0d9f07a..f507457 100644 --- a/src/main/java/com/ugsbo/entscheider/Entscheider.java +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -6,6 +6,7 @@ package com.ugsbo.entscheider; import java.util.Scanner; import java.util.*; + /** * @author bruec * @@ -16,53 +17,164 @@ public class Entscheider { * @param args */ public static void main(String[] args) { - System.out.println(ergebnis(29,1,1,3,2,1,1,4)); - + System.out.println(ergebnis(29, 1, 1, 3, 2, 1, 1, 4)); } - + public static String ergebnis(int a, int b, int c, int d, int e, int f, int g, int h) { - int erg = (((a + b + c) * d ) /(e + f + g)) - h; + int erg = (((a + b + c) * d) / (e + f + g)) - h; String hilfe = ""; - if(erg < 5) hilfe = "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen."; - if(erg >= 5 && erg < 15) hilfe = "Naja, dann geh halt nach Hause und ruh dich aus."; - if(erg >= 15) hilfe = "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin."; - + if (erg < 5) + hilfe = "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen."; + if (erg >= 5 && erg < 15) + hilfe = "Naja, dann geh halt nach Hause und ruh dich aus."; + if (erg >= 15) + hilfe = "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin."; + return hilfe; } - + public static String fragen() { - return ""; + // Eingangsfrage + System.out.println( + "Du willst also wissen ob du in die Veranstaltung gehen sollst oder nicht? Gib 1 für Ja ein 0 für Nein."); + int a = getAnInteger(); + if (a == 1 || a == 0) { + if (a == 1) { + System.out.println("Dann werde ich dir jetzt ein paar Fragen stellen"); + } else { + return("Na dann halt nicht. Tschüssi."); + } + + } else { + if (a == 1) { + System.out.println("Dann werde ich dir jetzt ein paar Fragen stellen"); + } else { + return ("Na dann halt nicht. Tschüssi.") ; + } + + } + // zweite Frage + System.out.println("Wie alt bist du?"); + int alter = getAnInteger(); + if (alter > 0) { + System.out.println(alter); + } else { + while (alter <= 0) { + System.out.println("Versuches es nochmal. Du musst mindestens 1 sein."); + alter = getAnInteger(); + } + } + + // dritte Frage + System.out.println("Auf einer Skala von 1 bis 10 wie motiviert bist du?"); + int mot = getAnInteger(); + if (mot >= 1 && mot <= 10) { + System.out.println(mot); + } else { + skalaTest(mot); + System.out.println(mot); + } + + // vierte Frage + System.out.println("Hast du gefrühstückt? Bei Ja bitte 1 und bei Nein bitte 0"); + int fruehstueck = getAnInteger(); + if (fruehstueck == 1 || fruehstueck == 0) { + System.out.println(fruehstueck); + } else { + pruefen(fruehstueck); + System.out.println(fruehstueck); + } + + // fuenfte Frage + System.out.println("Hast du jemals ein Harry Potterbuch gelesen? Bei Ja bitte 1 und bei Nein bitte 0"); + int harry = getAnInteger(); + if (harry == 1 || harry == 0) { + System.out.println(harry); + } else { + pruefen(harry); + System.out.println(harry); + } + + // sechste Frage + System.out.println("Wie viele Äpfel hast du heute schon gegessen?"); + int apfel = getAnInteger(); + if (apfel > 0) { + System.out.println(apfel); + } else { + while (apfel <= 0) { + System.out.println("Versuches es nochmal. Die Zahl muss positiv sein."); + apfel = getAnInteger(); + } + } + + // siebte Frage + System.out.println("Wie viele Veranstaltungen hattest du heute schon?"); + int anzahl = getAnInteger(); + if (anzahl > 0) { + System.out.println(anzahl); + } else { + while (anzahl <= 0) { + System.out.println("Versuches es nochmal. Die Zahl muss positiv sein."); + anzahl = getAnInteger(); + } + } + + // achte Frage + System.out.println("Was würdest du statt der Vorlesung machen? Lernen? Bei Ja bitte 1 und bei Nein bitte 0"); + int lernen = getAnInteger(); + if (lernen == 1 || lernen == 0) { + System.out.println(lernen); + } else { + pruefen(lernen); + System.out.println(lernen); + } + if (lernen == 1) + System.out.println("Wenn du das sagst, aber lueg dich doch bitte nicht selbst an."); + + // neunte Frage + System.out.println("Wuerdest du dir ein gelbes Auto kaufen? Bei Ja bitte 1 und bei Nein bitte 0"); + int gelb = getAnInteger(); + if (gelb == 1 || gelb == 0) { + System.out.println(gelb); + } else { + pruefen(gelb); + System.out.println(gelb); + } + + // Auswertung + + String antwort = ergebnis(alter, lernen, gelb, apfel, mot, harry, fruehstueck, anzahl); + return antwort; + } - - public static int skalaTest(int answer){ + + public static int skalaTest(int answer) { System.out.println("Try again. Nur Werte zwischen 1 und 10 sind erlaubt."); int b = getAnInteger(); - if(b >= 1 && b <= 10) { + if (b >= 1 && b <= 10) { return b; } skalaTest(b); return -1; } - + public static int getAnInteger() { Scanner in = new Scanner(System.in); - while (true){ - try{ + while (true) { + try { return in.nextInt(); - } - catch (InputMismatchException e){ + } catch (InputMismatchException e) { in.next(); System.out.println("Das ist kein Integer. Try again."); } } } - - + public static int pruefen(int answer) { System.out.println("Try again. Nur 1 und 0 sind erlaubt."); int b = getAnInteger(); - if(b == 1 || b == 0) { + if (b == 1 || b == 0) { return b; } pruefen(b); From 19b6b06b4b7f847af8fe801b32b1259482b8106a Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sat, 13 Jul 2019 21:04:34 +0200 Subject: [PATCH 15/16] Implementieren der Main + Fehlerkorrektur MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit in der Methode fragen() mussten Fehler korrigiert werden Ablauf des Programms ist jetzt in der Main alle Tests sind grün --- .../com/ugsbo/entscheider/Entscheider.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java index f507457..7c5d11c 100644 --- a/src/main/java/com/ugsbo/entscheider/Entscheider.java +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -17,7 +17,12 @@ public class Entscheider { * @param args */ public static void main(String[] args) { - System.out.println(ergebnis(29, 1, 1, 3, 2, 1, 1, 4)); + System.out.println("Herzlich Willkommen!"); + String a = fragen(); + System.out.println(a); + if(a != "Na dann halt nicht. Tschüssi.") { + System.out.println("Auf Wiedersehen. Frag mich gerne nochmal wenn du mal wieder nicht weisst, ob du in die Vorlesung gehen solltest oder nicht."); + } } @@ -47,6 +52,7 @@ public class Entscheider { } } else { + a = pruefen(a); if (a == 1) { System.out.println("Dann werde ich dir jetzt ein paar Fragen stellen"); } else { @@ -72,7 +78,7 @@ public class Entscheider { if (mot >= 1 && mot <= 10) { System.out.println(mot); } else { - skalaTest(mot); + mot = skalaTest(mot); System.out.println(mot); } @@ -82,7 +88,7 @@ public class Entscheider { if (fruehstueck == 1 || fruehstueck == 0) { System.out.println(fruehstueck); } else { - pruefen(fruehstueck); + fruehstueck = pruefen(fruehstueck); System.out.println(fruehstueck); } @@ -92,7 +98,7 @@ public class Entscheider { if (harry == 1 || harry == 0) { System.out.println(harry); } else { - pruefen(harry); + harry = pruefen(harry); System.out.println(harry); } @@ -126,7 +132,7 @@ public class Entscheider { if (lernen == 1 || lernen == 0) { System.out.println(lernen); } else { - pruefen(lernen); + lernen = pruefen(lernen); System.out.println(lernen); } if (lernen == 1) @@ -138,7 +144,7 @@ public class Entscheider { if (gelb == 1 || gelb == 0) { System.out.println(gelb); } else { - pruefen(gelb); + gelb = pruefen(gelb); System.out.println(gelb); } From 218572c64e2fe510f1848f5c92ba6542548b3863 Mon Sep 17 00:00:00 2001 From: elephant12 Date: Sun, 14 Jul 2019 16:15:36 +0200 Subject: [PATCH 16/16] =?UTF-8?q?=C3=84nderung=20der=20Testklasse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Testfälle in denen eingegeben werden musste wurde rausgeworfen der restliche Testfall wurde aufgeteilt und verbessert --- .../com/ugsbo/entscheider/Entscheider.java | 14 ++-- .../JUnitEntscheiderErgebnisTest.java | 78 ++++++++++++++----- 2 files changed, 66 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/ugsbo/entscheider/Entscheider.java b/src/main/java/com/ugsbo/entscheider/Entscheider.java index 7c5d11c..8f2aebd 100644 --- a/src/main/java/com/ugsbo/entscheider/Entscheider.java +++ b/src/main/java/com/ugsbo/entscheider/Entscheider.java @@ -25,9 +25,10 @@ public class Entscheider { } } - - public static String ergebnis(int a, int b, int c, int d, int e, int f, int g, int h) { - int erg = (((a + b + c) * d) / (e + f + g)) - h; +//testbar + //Eingaben -> alter, lernen, gelb, apfel, mot, harry, fruehstueck, anzahl + public static String ergebnis(int alter, int lernen, int gelb, int apfel, int mot, int harry, int fruehstueck, int anzahl) { + int erg = (((alter + lernen + gelb) * apfel) / (mot + harry + fruehstueck)) - anzahl; String hilfe = ""; if (erg < 5) hilfe = "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen."; @@ -38,7 +39,7 @@ public class Entscheider { return hilfe; } - +//nicht testbar public static String fragen() { // Eingangsfrage System.out.println( @@ -154,7 +155,7 @@ public class Entscheider { return antwort; } - +//nicht testbar public static int skalaTest(int answer) { System.out.println("Try again. Nur Werte zwischen 1 und 10 sind erlaubt."); int b = getAnInteger(); @@ -164,7 +165,7 @@ public class Entscheider { skalaTest(b); return -1; } - +//nicht testbar public static int getAnInteger() { Scanner in = new Scanner(System.in); while (true) { @@ -177,6 +178,7 @@ public class Entscheider { } } + //Nicht testbar public static int pruefen(int answer) { System.out.println("Try again. Nur 1 und 0 sind erlaubt."); int b = getAnInteger(); diff --git a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java index 9963170..0bb01ef 100644 --- a/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java +++ b/src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java @@ -9,34 +9,72 @@ import org.junit.Test; public class JUnitEntscheiderErgebnisTest { + //Testet den Fall Ergebnis ist zwischen 5 und 15 @Test - public void skalaTestTest() { - int a = Entscheider.skalaTest(11); - Assert.assertTrue(a >= 1 || a <= 10 ); - + public void ergebnisZwischenFuenfUndFuenfzehn() { + //Eingabe der Werte zu den Fragen. Das erwartete Ergebnis zwischen 5 und 15 (jeweils inklusiv) + //deshalb muss Rückgabewert: "Naja, dann geh halt nach Hause und ruh dich aus." sein + int alter = 21; + int lernen = 1; + int gelb = 1; + int apfel = 3; + int mot = 2; + int harry = 1; + int fruehstueck = 1; + int anzahl = 4; + //erwarteter String + String erwartet = "Naja, dann geh halt nach Hause und ruh dich aus."; + //ausführen der Methode + String b = Entscheider.ergebnis(alter, lernen, gelb, apfel, mot, harry, fruehstueck, anzahl); + //stimmt es mit dem erwartetem überein? + assertEquals("Anwortstring",erwartet,b); } - + //Testet den Fall ergebnis ist größer 15 @Test public void ergebnisTest() { - String a = Entscheider.ergebnis(1,1,1,1,1,1,1,1); - Assert.assertTrue(a == "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen." ); - String b = Entscheider.ergebnis(21,1,1,3,2,1,1,4); - Assert.assertTrue(b == "Naja, dann geh halt nach Hause und ruh dich aus."); - String c = Entscheider.ergebnis(29,0,1,3,2,0,1,2); - Assert.assertTrue(c == "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin."); + //Eingabe der Werte zu den Fragen. Das erwartete Ergebnis ist größer 5 + //deshalb muss Rückgabewert: "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin." sein + int alter = 29; + int lernen = 0; + int gelb = 1; + int apfel = 3; + int mot = 2; + int harry = 0; + int fruehstueck = 1; + int anzahl = 2; + //erwarteter String + String erwartet = "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin."; + //ausführen der Methode + String c = Entscheider.ergebnis(alter, lernen, gelb, apfel, mot, harry, fruehstueck, anzahl); + //Stimmt Ergebnis + assertEquals("Anwortstring für größer 5",erwartet,c); + } - + //Testet den Fall ergebnis ist kleiner 5 + @Test - public void pruefenTest() { - int a = Entscheider.pruefen(2); - Assert.assertTrue(0 == a || 1 == a); + public void ergebnisKleinerFuenf() { + //Eingabe der Werte zu den Fragen. Das erwartete Ergebnis ist kleiner 5 + //deshalb muss Rückgabewert: "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen." sein + int alter = 1; + int lernen = 1; + int gelb = 1; + int apfel = 1; + int mot = 1; + int harry = 1; + int fruehstueck = 1; + int anzahl = 1; + //erwarteter String + String erwartet ="Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen."; + //ausführen der Methode + String a = Entscheider.ergebnis(alter, lernen, gelb, apfel, mot, harry, fruehstueck, anzahl); + //stimmt Ergebnis? + assertEquals("Anwortstring für kleiner 5",erwartet,a); + } - @Test - public void fragenTest() { - String a = Entscheider.fragen(); - Assert.assertTrue((a == "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen.") ||( a == "Naja, dann geh halt nach Hause und ruh dich aus." )|| (a == "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin.") || (a == "Na dann halt nicht. Tschüssi.")); - } + + }