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.

157 lines
5.8 KiB

2 years ago
  1. import java.util.Random;
  2. import java.util.Scanner;
  3. public class Main {
  4. public static void Karteikarten() {
  5. try (Scanner input = new Scanner(System.in)) {
  6. String[][] flashcards = {{"Was ist die Hauptstadt von Deutschland?", "Berlin"},
  7. {"Welches ist der größtes Planet in unserem Sonnensystem?", "Jupiter"},
  8. {"Was hat die Mona Lisa gemalt?", "Leonardo da Vinci"},
  9. //Sonstige Fragen
  10. };
  11. int score = 0;
  12. for (String[] flashcard : flashcards) {
  13. System.out.println(flashcard[0]);
  14. String answer = input.nextLine();
  15. if (answer.equalsIgnoreCase(flashcard[1])) {
  16. System.out.println("Korrekt!");
  17. score++;
  18. } else {
  19. System.out.println("Leider falsch. Die richtige Antwort wäre: " + flashcard[1]);
  20. }
  21. }
  22. System.out.println("Das Spiel ist zu Ende. Dein Punktestand ist " + score + " von insgesamt " + flashcards.length);
  23. }
  24. }
  25. // Quizz
  26. public static void Quizz() {
  27. Random rand = new Random();
  28. try (Scanner scanner = new Scanner(System.in)) {
  29. String[][] questions = {
  30. {"Welche Farbe hat ein Bananen?", "A) Gelb", "B) Grün", "C) Blau", "D) Rot", "A"},
  31. {"Wie viele Beine hat eine Spinne?", "A) 4", "B) 6", "C) 8", "D) 10", "C"},
  32. {"Wer hat die Formel E=mc² entwickelt?", "A) Isaac Newton", "B) Albert Einstein", "C) Galileo Galilei", "D) Stephen Hawking", "B"},
  33. {"Welches ist der größte Planet im Sonnensystem?", "A) Merkur", "B) Venus", "C) Erde", "D) Jupiter", "D"}
  34. //Sonstige Fragen
  35. };
  36. int questionIndex = rand.nextInt(questions.length);
  37. String[] currentQuestion = questions[questionIndex];
  38. System.out.println(currentQuestion[0]);
  39. System.out.println(currentQuestion[1]);
  40. System.out.println(currentQuestion[2]);
  41. System.out.println(currentQuestion[3]);
  42. System.out.println(currentQuestion[4]);
  43. String answer = scanner.nextLine();
  44. if (answer.equalsIgnoreCase(currentQuestion[5])) {
  45. System.out.println("Richtig!");
  46. } else {
  47. System.out.println("Falsch!");
  48. }
  49. }
  50. }
  51. // Binärinverter
  52. public static void Binaerrechner() {
  53. Scanner scanner = new Scanner(System.in);
  54. System.out.print("Gebe den ersten Binärcode ein: ");
  55. String binaryCode1 = scanner.nextLine();
  56. System.out.print("Gebe den zweiten Binärcode ein: ");
  57. String binaryCode2 = scanner.nextLine();
  58. System.out.print("Gebe die gewünschte Operation ein (+, -, *, /): ");
  59. char operation = scanner.next().charAt(0);
  60. int result = calculate(binaryCode1, binaryCode2, operation);
  61. System.out.println("Das Ergebnis ist: " + result);
  62. }
  63. public static int calculate(String binaryCode1, String binaryCode2, char operation) {
  64. int decimal1 = binaryToDecimal(binaryCode1);
  65. int decimal2 = binaryToDecimal(binaryCode2);
  66. int result = 0;
  67. switch (operation) {
  68. case '+':
  69. result = decimal1 + decimal2;
  70. break;
  71. case '-':
  72. result = decimal1 - decimal2;
  73. break;
  74. case '*':
  75. result = decimal1 * decimal2;
  76. break;
  77. case '/':
  78. result = decimal1 / decimal2;
  79. break;
  80. default:
  81. System.out.println("Ungültige Operation! Bitte wähle +, -, * oder /.");
  82. return 0;
  83. }
  84. return decimalToBinary(result);
  85. }
  86. public static int binaryToDecimal(String binaryCode) {
  87. int decimal = 0;
  88. for (int i = binaryCode.length() - 1; i >= 0; i--) {
  89. char currentChar = binaryCode.charAt(i);
  90. if (currentChar == '1') {
  91. decimal += Math.pow(2, binaryCode.length() - i - 1);
  92. } else if (currentChar != '0') {
  93. System.out.println("Ungültiger Binärcode! Bitte gebe nur Nullen und Einsen ein.");
  94. return 0;
  95. }
  96. }
  97. return decimal;
  98. }
  99. public static int decimalToBinary(int decimal) {
  100. int binary = 0;
  101. int power = 0;
  102. while (decimal > 0) {
  103. binary += (decimal % 2) * (int) Math.pow(10, power);
  104. decimal /= 2;
  105. power++;
  106. }
  107. return binary;
  108. }
  109. public static void main(String[] args) {
  110. System.out.println("Willkommen bei dem kleinen konsolenbasierten Lernprogramm!\n Du hast 3 Spielmodi:\n");
  111. System.out.println("1. Karteikarten (1)\n");
  112. System.out.println("2. Quizz(2)\n");
  113. System.out.println("3. Binaer-Inverter(3)\n");
  114. System.out.println("Gebe eine Zahl ein:");
  115. try (Scanner scanner = new Scanner(System.in)) {
  116. int wahl = scanner.nextInt();
  117. switch (wahl) {
  118. case 1:
  119. Karteikarten();
  120. break;
  121. case 2:
  122. Quizz();
  123. break;
  124. case 3:
  125. Binaerrechner();
  126. break;
  127. default:
  128. System.out.println("Ungültige Eingabe, versuche es erneut!");
  129. }
  130. }
  131. System.out.println("Wir hoffen, dir hat das Programm gefallen.\n" +
  132. "Du kannst es selber um weitere Funktionen erweitern, wenn du möchtest!");
  133. }
  134. }