Ultra Geile Studenten Benutzer Oberfläche (UGSBO)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

192 lines
5.0 KiB

  1. /**
  2. *
  3. */
  4. package com.ugsbo.entscheider;
  5. import java.util.Scanner;
  6. import java.util.*;
  7. /**
  8. * @author bruec
  9. *
  10. */
  11. public class Entscheider {
  12. /**
  13. * @param args
  14. */
  15. public static void main(String[] args) {
  16. System.out.println("Herzlich Willkommen!");
  17. String a = fragen();
  18. System.out.println(a);
  19. if(a != "Na dann halt nicht. Tschüssi.") {
  20. System.out.println("Auf Wiedersehen. Frag mich gerne nochmal wenn du mal wieder nicht weisst, ob du in die Vorlesung gehen solltest oder nicht.");
  21. }
  22. }
  23. //testbar
  24. //Eingaben -> alter, lernen, gelb, apfel, mot, harry, fruehstueck, anzahl
  25. public static String ergebnis(int alter, int lernen, int gelb, int apfel, int mot, int harry, int fruehstueck, int anzahl) {
  26. int erg = (((alter + lernen + gelb) * apfel) / (mot + harry + fruehstueck)) - anzahl;
  27. String hilfe = "";
  28. if (erg < 5)
  29. hilfe = "Ich kann doch nicht fuer dich entscheiden, dass musst du schon selber wissen.";
  30. if (erg >= 5 && erg < 15)
  31. hilfe = "Naja, dann geh halt nach Hause und ruh dich aus.";
  32. if (erg >= 15)
  33. hilfe = "Jetzt wieder gehen? Dann bist du doch voellig umsonst aufgestanden. Geh einfach hin.";
  34. return hilfe;
  35. }
  36. //nicht testbar
  37. public static String fragen() {
  38. // Eingangsfrage
  39. System.out.println(
  40. "Du willst also wissen ob du in die Veranstaltung gehen sollst oder nicht? Gib 1 für Ja ein 0 für Nein.");
  41. int a = getAnInteger();
  42. if (a == 1 || a == 0) {
  43. if (a == 1) {
  44. System.out.println("Dann werde ich dir jetzt ein paar Fragen stellen");
  45. } else {
  46. return("Na dann halt nicht. Tschüssi.");
  47. }
  48. } else {
  49. a = pruefen(a);
  50. if (a == 1) {
  51. System.out.println("Dann werde ich dir jetzt ein paar Fragen stellen");
  52. } else {
  53. return ("Na dann halt nicht. Tschüssi.") ;
  54. }
  55. }
  56. // zweite Frage
  57. System.out.println("Wie alt bist du?");
  58. int alter = getAnInteger();
  59. if (alter > 0) {
  60. System.out.println(alter);
  61. } else {
  62. while (alter <= 0) {
  63. System.out.println("Versuches es nochmal. Du musst mindestens 1 sein.");
  64. alter = getAnInteger();
  65. }
  66. }
  67. // dritte Frage
  68. System.out.println("Auf einer Skala von 1 bis 10 wie motiviert bist du?");
  69. int mot = getAnInteger();
  70. if (mot >= 1 && mot <= 10) {
  71. System.out.println(mot);
  72. } else {
  73. mot = skalaTest(mot);
  74. System.out.println(mot);
  75. }
  76. // vierte Frage
  77. System.out.println("Hast du gefrühstückt? Bei Ja bitte 1 und bei Nein bitte 0");
  78. int fruehstueck = getAnInteger();
  79. if (fruehstueck == 1 || fruehstueck == 0) {
  80. System.out.println(fruehstueck);
  81. } else {
  82. fruehstueck = pruefen(fruehstueck);
  83. System.out.println(fruehstueck);
  84. }
  85. // fuenfte Frage
  86. System.out.println("Hast du jemals ein Harry Potterbuch gelesen? Bei Ja bitte 1 und bei Nein bitte 0");
  87. int harry = getAnInteger();
  88. if (harry == 1 || harry == 0) {
  89. System.out.println(harry);
  90. } else {
  91. harry = pruefen(harry);
  92. System.out.println(harry);
  93. }
  94. // sechste Frage
  95. System.out.println("Wie viele Äpfel hast du heute schon gegessen?");
  96. int apfel = getAnInteger();
  97. if (apfel > 0) {
  98. System.out.println(apfel);
  99. } else {
  100. while (apfel <= 0) {
  101. System.out.println("Versuches es nochmal. Die Zahl muss positiv sein.");
  102. apfel = getAnInteger();
  103. }
  104. }
  105. // siebte Frage
  106. System.out.println("Wie viele Veranstaltungen hattest du heute schon?");
  107. int anzahl = getAnInteger();
  108. if (anzahl > 0) {
  109. System.out.println(anzahl);
  110. } else {
  111. while (anzahl <= 0) {
  112. System.out.println("Versuches es nochmal. Die Zahl muss positiv sein.");
  113. anzahl = getAnInteger();
  114. }
  115. }
  116. // achte Frage
  117. System.out.println("Was würdest du statt der Vorlesung machen? Lernen? Bei Ja bitte 1 und bei Nein bitte 0");
  118. int lernen = getAnInteger();
  119. if (lernen == 1 || lernen == 0) {
  120. System.out.println(lernen);
  121. } else {
  122. lernen = pruefen(lernen);
  123. System.out.println(lernen);
  124. }
  125. if (lernen == 1)
  126. System.out.println("Wenn du das sagst, aber lueg dich doch bitte nicht selbst an.");
  127. // neunte Frage
  128. System.out.println("Wuerdest du dir ein gelbes Auto kaufen? Bei Ja bitte 1 und bei Nein bitte 0");
  129. int gelb = getAnInteger();
  130. if (gelb == 1 || gelb == 0) {
  131. System.out.println(gelb);
  132. } else {
  133. gelb = pruefen(gelb);
  134. System.out.println(gelb);
  135. }
  136. // Auswertung
  137. String antwort = ergebnis(alter, lernen, gelb, apfel, mot, harry, fruehstueck, anzahl);
  138. return antwort;
  139. }
  140. //nicht testbar
  141. public static int skalaTest(int answer) {
  142. System.out.println("Try again. Nur Werte zwischen 1 und 10 sind erlaubt.");
  143. int b = getAnInteger();
  144. if (b >= 1 && b <= 10) {
  145. return b;
  146. }
  147. skalaTest(b);
  148. return -1;
  149. }
  150. //nicht testbar
  151. public static int getAnInteger() {
  152. Scanner in = new Scanner(System.in);
  153. while (true) {
  154. try {
  155. return in.nextInt();
  156. } catch (InputMismatchException e) {
  157. in.next();
  158. System.out.println("Das ist kein Integer. Try again.");
  159. }
  160. }
  161. }
  162. //Nicht testbar
  163. public static int pruefen(int answer) {
  164. System.out.println("Try again. Nur 1 und 0 sind erlaubt.");
  165. int b = getAnInteger();
  166. if (b == 1 || b == 0) {
  167. return b;
  168. }
  169. pruefen(b);
  170. return 1;
  171. }
  172. }