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.

224 lines
5.6 KiB

  1. package LernProgramm;
  2. import java.util.Random;
  3. import java.util.Scanner;
  4. public class ProgrammMain {
  5. // Aufzurufende Funktionen
  6. // Karteikarten
  7. public static void Karteikarten() {
  8. try (Scanner input = new Scanner(System.in)) {
  9. String[][] karteikarten = { { "Was ist die Hauptstadt von Deutschland?", "Berlin" },
  10. { "Welches ist der größtes Planet in unserem Sonnensystem?", "Jupiter" },
  11. { "Wer hat die Mona Lisa gemalt?", "Leonardo da Vinci" },
  12. {"Wer ist der Bundeskanzler von Deutschland?", "Olaf Scholz"},
  13. // Sonstige Fragen
  14. };
  15. int counter = 0;
  16. for (String[] karteikarte : karteikarten) {
  17. System.out.println(karteikarte[0]);
  18. String answer = input.nextLine();
  19. if (answer.equalsIgnoreCase(karteikarte[1])) {
  20. System.out.println("Korrekt!");
  21. counter++;
  22. } else {
  23. System.out.println("Leider falsch. Die richtige Antwort wäre: " + karteikarte[1]);
  24. }
  25. }
  26. System.out.println("Dein Punktestand ist " + counter + " von insgesamt " + karteikarten.length);
  27. }
  28. }
  29. // Quizz
  30. public static void Quizz() {
  31. Random rand = new Random();
  32. try (Scanner scanner = new Scanner(System.in)) {
  33. String[][] questions = {
  34. { "Welche Farbe hat ein Bananen?", "A) Gelb", "B) Grün", "C) Blau", "D) Rot", "A" },
  35. { "Wie viele Beine hat eine Spinne?", "A) 4", "B) 6", "C) 8", "D) 10", "C" },
  36. { "Wer hat die Formel E=mc² entwickelt?", "A) Isaac Newton", "B) Albert Einstein",
  37. "C) Galileo Galilei", "D) Stephen Hawking", "B" },
  38. { "Welches ist der größte Planet im Sonnensystem?", "A) Merkur", "B) Venus", "C) Erde",
  39. "D) Jupiter", "D" }
  40. // Sonstige Fragen
  41. };
  42. int questionIndex = rand.nextInt(questions.length);
  43. String[] currentQuestion = questions[questionIndex];
  44. System.out.println(currentQuestion[0]);
  45. System.out.println(currentQuestion[1]);
  46. System.out.println(currentQuestion[2]);
  47. System.out.println(currentQuestion[3]);
  48. System.out.println(currentQuestion[4]);
  49. String answer = scanner.nextLine();
  50. if (answer.equalsIgnoreCase(currentQuestion[5])) {
  51. System.out.println("Richtig!");
  52. } else {
  53. System.out.println("Falsch!");
  54. }
  55. }
  56. }
  57. // Prinmbis100
  58. public static void PrimBis100() {
  59. for (int i = 2; i <= 100; i++) {
  60. boolean isPrime = true;
  61. for (int j = 2; j < i; j++) {
  62. if (i % j == 0) {
  63. isPrime = false;
  64. break;
  65. }
  66. }
  67. if (isPrime) {
  68. System.out.print(i + " ");
  69. }
  70. }
  71. }
  72. // Binärinverter
  73. public static void Binaerrechner() {
  74. try (Scanner scanner = new Scanner(System.in)) {
  75. System.out.print("Gebe den ersten Binärcode ein: ");
  76. String binaryCode1 = scanner.nextLine();
  77. System.out.print("Gebe den zweiten Binärcode ein: ");
  78. String binaryCode2 = scanner.nextLine();
  79. System.out.print("Gebe die gewünschte Operation ein (+, -, *, /): ");
  80. char operation = scanner.next().charAt(0);
  81. int result = calculate(binaryCode1, binaryCode2, operation);
  82. System.out.println("Das Ergebnis ist: " + result);
  83. }
  84. }
  85. public static int calculate(String binaryCode1, String binaryCode2, char operation) {
  86. int decimal1 = binaryToDecimal(binaryCode1);
  87. int decimal2 = binaryToDecimal(binaryCode2);
  88. int result = 0;
  89. switch (operation) {
  90. case '+':
  91. result = decimal1 + decimal2;
  92. break;
  93. case '-':
  94. result = decimal1 - decimal2;
  95. break;
  96. case '*':
  97. result = decimal1 * decimal2;
  98. break;
  99. case '/':
  100. result = decimal1 / decimal2;
  101. break;
  102. default:
  103. System.out.println("Ungültige Operation! Bitte wähle +, -, * oder /.");
  104. return 0;
  105. }
  106. return decimalToBinary(result);
  107. }
  108. public static int binaryToDecimal(String binaryCode) {
  109. int decimal = 0;
  110. for (int i = binaryCode.length() - 1; i >= 0; i--) {
  111. char currentChar = binaryCode.charAt(i);
  112. if (currentChar == '1') {
  113. decimal += Math.pow(2, binaryCode.length() - i - 1);
  114. } else if (currentChar != '0') {
  115. System.out.println("Ungültiger Binärcode! Bitte gebe nur Nullen und Einsen ein.");
  116. return 0;
  117. }
  118. }
  119. return decimal;
  120. }
  121. public static int decimalToBinary(int decimal) {
  122. int binary = 0;
  123. int power = 0;
  124. while (decimal > 0) {
  125. binary += (decimal % 2) * (int) Math.pow(10, power);
  126. decimal /= 2;
  127. power++;
  128. }
  129. return binary;
  130. }
  131. public static void schaltjahr() {
  132. System.out.println("Welches Jahr möchtest du untersuchen?");
  133. Scanner scanner2 = new Scanner(System.in);
  134. String jahr = scanner2.nextLine();
  135. int jahr1 = Integer.parseInt(jahr);
  136. // Bestimmen+Ausgabe
  137. if( jahr1 % 400 == 0 ) System.out.println("Schaltjahr!");
  138. else if( jahr1 % 100 == 0 ) System.out.println("Kein Schaltjahr!");
  139. else if( jahr1 % 4 == 0 ) System.out.println("Schaltjahr!");
  140. else System.out.println("Kein Schaltjahr!");
  141. }
  142. }
  143. public static void main(String[] args) {
  144. System.out.println("Willkommen bei diesem kleinen konsolenbasierten Spiel!\n");
  145. System.out.println("Du hast 3 Spielmodi!\n");
  146. System.out.println("1. Karteikarten\n");
  147. System.out.println("2. Quizz\n");
  148. System.out.println("3. Binaer-Inverter\n");
  149. System.out.println("4. PrimZahlenAusgabe\n");
  150. try (Scanner einleser = new Scanner(System.in)) {
  151. int wahl = einleser.nextInt();
  152. switch (wahl) {
  153. case 1:
  154. Karteikarten();
  155. break;
  156. case 2:
  157. Quizz();
  158. // Funktion
  159. break;
  160. case 3:
  161. PrimBis100();
  162. // Funktion
  163. break;
  164. case 4:
  165. Binaerrechner();
  166. // Funktion
  167. break;
  168. case 5:
  169. System.out.println(
  170. "Diese Funktion wird derzeit entwickelt! Hab bitte etwas Geduld oder sei kreativ und erstelle dir selber eine Funktion!");
  171. // Funktion
  172. break;
  173. default:
  174. System.out.println("Ungültige Eingabe, versuche es bitte erneut!\n");
  175. }
  176. }
  177. System.out.println("Programm beendet\n");
  178. }
  179. }