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.

205 lines
5.5 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. package LernProgramm;
  2. import java.util.Random;
  3. import java.util.Scanner;
  4. public class FunktionenAusgelagert {
  5. //Funktionen, die von der main Funktion ausgelagert wurden, da sonts zu unüberscihtlich
  6. //1
  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. //2
  30. public static void Fakultaet() {
  31. try (Scanner scanner3 = new Scanner(System.in)) {
  32. String numbera = scanner3.nextLine();
  33. int number = Integer.parseInt(numbera);
  34. if (number <= 0) {
  35. System.out.println("1");
  36. }
  37. int result = 1;
  38. for (int i = 1; i <= number; i++) {
  39. result *= i;
  40. }
  41. System.out.println(result);
  42. } catch (NumberFormatException e) {
  43. // TODO Auto-generated catch block
  44. e.printStackTrace();
  45. }
  46. }
  47. //3
  48. public static void schaltjahr() {
  49. System.out.println("Welches Jahr möchtest du untersuchen?");
  50. try (Scanner scanner2 = new Scanner(System.in)) {
  51. String jahr = scanner2.nextLine();
  52. int jahr1 = Integer.parseInt(jahr);
  53. if (jahr1 % 400 == 0)
  54. System.out.println("Schaltjahr!");
  55. else if (jahr1 % 100 == 0)
  56. System.out.println("Kein Schaltjahr!");
  57. else if (jahr1 % 4 == 0)
  58. System.out.println("Schaltjahr!");
  59. else
  60. System.out.println("Kein Schaltjahr!");
  61. } catch (NumberFormatException e) {
  62. e.printStackTrace();
  63. }
  64. }
  65. //4
  66. public static void Quizz() {
  67. Random rand = new Random();
  68. try (Scanner scanner = new Scanner(System.in)) {
  69. String[][] questions = {
  70. { "Welche Farbe hat ein Bananen?", "A) Gelb", "B) Grün", "C) Blau", "D) Rot", "A" },
  71. { "Wie viele Beine hat eine Spinne?", "A) 4", "B) 6", "C) 8", "D) 10", "C" },
  72. { "Wer hat die Formel E=mc² entwickelt?", "A) Isaac Newton", "B) Albert Einstein",
  73. "C) Galileo Galilei", "D) Stephen Hawking", "B" },
  74. { "Welches ist der größte Planet im Sonnensystem?", "A) Merkur", "B) Venus", "C) Erde",
  75. "D) Jupiter", "D" }
  76. // Sonstige Fragen
  77. };
  78. int questionIndex = rand.nextInt(questions.length);
  79. String[] currentQuestion = questions[questionIndex];
  80. System.out.println(currentQuestion[0]);
  81. System.out.println(currentQuestion[1]);
  82. System.out.println(currentQuestion[2]);
  83. System.out.println(currentQuestion[3]);
  84. System.out.println(currentQuestion[4]);
  85. String answer = scanner.nextLine();
  86. if (answer.equalsIgnoreCase(currentQuestion[5])) {
  87. System.out.println("Richtig!");
  88. } else {
  89. System.out.println("Falsch!");
  90. }
  91. }
  92. }
  93. //5
  94. public static void Binaerrechner() {
  95. try (Scanner scanner = new Scanner(System.in)) {
  96. System.out.print("Gebe den ersten Binärcode ein: ");
  97. String binaryCode1 = scanner.nextLine();
  98. System.out.print("Gebe den zweiten Binärcode ein: ");
  99. String binaryCode2 = scanner.nextLine();
  100. System.out.print("Gebe die gewünschte Operation ein (+, -, *, /): ");
  101. char operation = scanner.next().charAt(0);
  102. int result = calculate(binaryCode1, binaryCode2, operation);
  103. System.out.println("Das Ergebnis ist: " + result);
  104. }
  105. }
  106. public static int calculate(String binaryCode1, String binaryCode2, char operation) {
  107. int decimal1 = binaryToDecimal(binaryCode1);
  108. int decimal2 = binaryToDecimal(binaryCode2);
  109. int result = 0;
  110. switch (operation) {
  111. case '+':
  112. result = decimal1 + decimal2;
  113. break;
  114. case '-':
  115. result = decimal1 - decimal2;
  116. break;
  117. case '*':
  118. result = decimal1 * decimal2;
  119. break;
  120. case '/':
  121. result = decimal1 / decimal2;
  122. break;
  123. default:
  124. System.out.println("Ungültige Operation! Bitte wähle +, -, * oder /.");
  125. return 0;
  126. }
  127. return decimalToBinary(result);
  128. }
  129. public static int binaryToDecimal(String binaryCode) {
  130. int decimal = 0;
  131. for (int i = binaryCode.length() - 1; i >= 0; i--) {
  132. char currentChar = binaryCode.charAt(i);
  133. if (currentChar == '1') {
  134. decimal += Math.pow(2, binaryCode.length() - i - 1);
  135. } else if (currentChar != '0') {
  136. System.out.println("Ungültiger Binärcode! Bitte gebe nur Nullen und Einsen ein.");
  137. return 0;
  138. }
  139. }
  140. return decimal;
  141. }
  142. public static int decimalToBinary(int decimal) {
  143. int binary = 0;
  144. int power = 0;
  145. while (decimal > 0) {
  146. binary += (decimal % 2) * (int) Math.pow(10, power);
  147. decimal /= 2;
  148. power++;
  149. }
  150. return binary;
  151. }
  152. //6
  153. public static void PrimBis100() {
  154. for (int i = 2; i <= 100; i++) {
  155. boolean isPrime = true;
  156. for (int j = 2; j < i; j++) {
  157. if (i % j == 0) {
  158. isPrime = false;
  159. break;
  160. }
  161. }
  162. if (isPrime) {
  163. System.out.print(i + " ");
  164. }
  165. }
  166. }
  167. public static void EasterEgg() {
  168. System.out.println(" _______");
  169. System.out.println(" / \\");
  170. System.out.println(" ( 0 0 )");
  171. System.out.println(" \\ --- /");
  172. System.out.println(" ------");
  173. }
  174. }