Christian Baltzer
6 years ago
4 changed files with 281 additions and 0 deletions
-
192src/main/java/com/ugsbo/entscheider/Entscheider.java
-
8src/main/java/com/ugsbo/entscheider/package-info.java
-
80src/test/java/com/ugsbo/entscheider/JUnitEntscheiderErgebnisTest.java
-
1src/test/java/com/ugsbo/entscheider/package-info.java
@ -0,0 +1,192 @@ |
|||
|
|||
/** |
|||
* |
|||
*/ |
|||
package com.ugsbo.entscheider; |
|||
|
|||
import java.util.Scanner; |
|||
import java.util.*; |
|||
|
|||
/** |
|||
* @author bruec |
|||
* |
|||
*/ |
|||
public class Entscheider { |
|||
|
|||
/** |
|||
* @param args |
|||
*/ |
|||
public static void main(String[] args) { |
|||
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."); |
|||
} |
|||
|
|||
} |
|||
//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."; |
|||
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; |
|||
} |
|||
//nicht testbar |
|||
public static String fragen() { |
|||
// 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 { |
|||
a = pruefen(a); |
|||
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 { |
|||
mot = 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 { |
|||
fruehstueck = 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 { |
|||
harry = 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 { |
|||
lernen = 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 { |
|||
gelb = pruefen(gelb); |
|||
System.out.println(gelb); |
|||
} |
|||
|
|||
// Auswertung |
|||
|
|||
String antwort = ergebnis(alter, lernen, gelb, apfel, mot, harry, fruehstueck, anzahl); |
|||
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(); |
|||
if (b >= 1 && b <= 10) { |
|||
return b; |
|||
} |
|||
skalaTest(b); |
|||
return -1; |
|||
} |
|||
//nicht testbar |
|||
public static int getAnInteger() { |
|||
Scanner in = new Scanner(System.in); |
|||
while (true) { |
|||
try { |
|||
return in.nextInt(); |
|||
} catch (InputMismatchException e) { |
|||
in.next(); |
|||
System.out.println("Das ist kein Integer. Try again."); |
|||
} |
|||
} |
|||
} |
|||
|
|||
//Nicht testbar |
|||
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) { |
|||
return b; |
|||
} |
|||
pruefen(b); |
|||
return 1; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,8 @@ |
|||
/** |
|||
* |
|||
*/ |
|||
/** |
|||
* @author bruec |
|||
* |
|||
*/ |
|||
package com.ugsbo.entscheider; |
@ -0,0 +1,80 @@ |
|||
package com.ugsbo.entscheider; |
|||
|
|||
import static org.junit.Assert.*; |
|||
|
|||
|
|||
import org.junit.Assert; |
|||
import org.junit.Test; |
|||
|
|||
public class JUnitEntscheiderErgebnisTest { |
|||
|
|||
|
|||
//Testet den Fall Ergebnis ist zwischen 5 und 15 |
|||
|
|||
@Test |
|||
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() { |
|||
//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 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); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
} |
@ -0,0 +1 @@ |
|||
package com.ugsbo.entscheider; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue