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.

229 lines
6.5 KiB

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,
  6. //da diese sonst zu unüberscihtlich gewesen wär und die main untergegangen wäre
  7. //1
  8. public static void Karteikarten() {
  9. try (Scanner eingabeKK = new Scanner(System.in)) {
  10. String[][] karteikarten = { { "Was ist die Hauptstadt von Deutschland?", "Berlin" },
  11. { "Welches ist der größtes Planet in unserem Sonnensystem?", "Jupiter" },
  12. { "Wer hat die Mona Lisa gemalt?", "Leonardo da Vinci" },
  13. { "Wer ist der Bundeskanzler von Deutschland?", "Olaf Scholz" },
  14. { "Wer hat den Z1 entworfen?", "Zuse" }, { "W", "Olaf Scholz" },
  15. { "Wer ist der Bundeskanzler von Deutschland?", "Olaf Scholz" },
  16. // Sonstige Fragen können hier eingefügt werden
  17. };
  18. int PunkteZähler = 0;
  19. for (String[] karteikarte : karteikarten) {
  20. System.out.println(karteikarte[0]);
  21. String answer = eingabeKK.nextLine();
  22. if (answer.equalsIgnoreCase(karteikarte[1])) {
  23. System.out.println("Korrekt!");
  24. PunkteZähler++;
  25. } else {
  26. System.out.println("Leider falsch. Die richtige Antwort wäre: " + karteikarte[1]);
  27. }
  28. }
  29. System.out.println("Dein Punktestand ist " + PunkteZähler + " von insgesamt " + karteikarten.length);
  30. }
  31. }
  32. //2
  33. public static void Fakultaet() {
  34. try (Scanner eingabeFK = new Scanner(System.in)) {
  35. String ein = eingabeFK.nextLine();
  36. int zahlFK = Integer.parseInt(ein);
  37. if (zahlFK <= 0) {
  38. System.out.println("1");
  39. }
  40. int ergebnis = 1;
  41. for (int i = 1; i <= zahlFK; i++) {
  42. ergebnis *= i;
  43. }
  44. System.out.println(ergebnis);
  45. } catch (NumberFormatException e) {
  46. e.printStackTrace();
  47. }
  48. }
  49. //3
  50. public static void schaltjahr() {
  51. System.out.println("Welches Jahr möchtest du untersuchen?");
  52. try (Scanner einSJ = new Scanner(System.in)) {
  53. String jahr = einSJ.nextLine();
  54. int schaltjahr = Integer.parseInt(jahr);
  55. if (schaltjahr % 400 == 0)
  56. System.out.println("Schaltjahr!");
  57. else if (schaltjahr % 100 == 0)
  58. System.out.println("Kein Schaltjahr!");
  59. else if (schaltjahr % 4 == 0)
  60. System.out.println("Schaltjahr!");
  61. else
  62. System.out.println("Kein Schaltjahr!");
  63. } catch (NumberFormatException e) {
  64. e.printStackTrace();
  65. }
  66. }
  67. //4
  68. public static void Quizz() {
  69. Random rand = new Random();
  70. try (Scanner einQ = new Scanner(System.in)) {
  71. String[][] fragen = { { "Welche Farbe hat ein Bananen?", "A) Gelb", "B) Grün", "C) Blau", "D) Rot", "A" },
  72. { "Wie viele Beine hat eine Spinne?", "A) 4", "B) 6", "C) 8", "D) 10", "C" },
  73. { "Wer hat die Formel E=mc² entwickelt?", "A) Isaac Newton", "B) Albert Einstein",
  74. "C) Galileo Galilei", "D) Stephen Hawking", "B" },
  75. { "Welches ist der größte Planet im Sonnensystem?", "A) Merkur", "B) Venus", "C) Erde",
  76. "D) Jupiter", "D" }
  77. // Sonstige Fragen
  78. };
  79. int questionIndex = rand.nextInt(fragen.length);
  80. String[] currentQuestion = fragen[questionIndex];
  81. System.out.println(currentQuestion[0]);
  82. System.out.println(currentQuestion[1]);
  83. System.out.println(currentQuestion[2]);
  84. System.out.println(currentQuestion[3]);
  85. System.out.println(currentQuestion[4]);
  86. String antwort = einQ.nextLine();
  87. if (antwort.equalsIgnoreCase(currentQuestion[5])) {
  88. System.out.println("Richtig!");
  89. } else {
  90. System.out.println("Falsch!");
  91. }
  92. }
  93. }
  94. //5
  95. public static void Binaerrechner() {
  96. try (Scanner scannerBR = new Scanner(System.in)) {
  97. System.out.print("Gebe den ersten Binärcode ein: ");
  98. String binaerCode1 = scannerBR.nextLine();
  99. System.out.print("Gebe den zweiten Binärcode ein: ");
  100. String binaerCode2 = scannerBR.nextLine();
  101. System.out.print("Gebe die gewünschte Operation ein (+, -, *, /): ");
  102. char operation = scannerBR.next().charAt(0);
  103. int ergebnisBR = calculate(binaerCode1, binaerCode2, operation);
  104. System.out.println("Das Ergebnis ist: " + ergebnisBR);
  105. }
  106. }
  107. public static int calculate(String binaryCode1, String binaryCode2, char operation) {
  108. int decimal1 = binaryToDecimal(binaryCode1);
  109. int decimal2 = binaryToDecimal(binaryCode2);
  110. int result = 0;
  111. switch (operation) {
  112. case '+':
  113. result = decimal1 + decimal2;
  114. break;
  115. case '-':
  116. result = decimal1 - decimal2;
  117. break;
  118. case '*':
  119. result = decimal1 * decimal2;
  120. break;
  121. case '/':
  122. result = decimal1 / decimal2;
  123. break;
  124. default:
  125. System.out.println("Ungültige Operation! Bitte wähle +, -, * oder /.");
  126. return 0;
  127. }
  128. return decimalToBinary(result);
  129. }
  130. public static int binaryToDecimal(String binaryCode) {
  131. int decimal = 0;
  132. for (int i = binaryCode.length() - 1; i >= 0; i--) {
  133. char currentChar = binaryCode.charAt(i);
  134. if (currentChar == '1') {
  135. decimal += Math.pow(2, binaryCode.length() - i - 1);
  136. } else if (currentChar != '0') {
  137. System.out.println("Ungültiger Binärcode! Bitte gebe nur Nullen und Einsen ein.");
  138. return 0;
  139. }
  140. }
  141. return decimal;
  142. }
  143. public static int decimalToBinary(int decimal) {
  144. int binary = 0;
  145. int power = 0;
  146. while (decimal > 0) {
  147. binary += (decimal % 2) * (int) Math.pow(10, power);
  148. decimal /= 2;
  149. power++;
  150. }
  151. return binary;
  152. }
  153. //6
  154. public static void PrimBis100() {
  155. for (int i = 2; i <= 100; i++) {
  156. boolean istPrimZahl = true;
  157. for (int j = 2; j < i; j++) {
  158. if (i % j == 0) {
  159. istPrimZahl = false;
  160. break;
  161. }
  162. }
  163. if (istPrimZahl) {
  164. System.out.print(i + " ");
  165. }
  166. }
  167. }
  168. //7
  169. public static void EasterEgg() {
  170. System.out.println(" _______");
  171. System.out.println(" / \\");
  172. System.out.println(" ( 0 0 )");
  173. System.out.println(" \\ --- /");
  174. System.out.println(" ------");
  175. }
  176. //8
  177. public static void Timer() {
  178. try (Scanner input = new Scanner(System.in)) {
  179. int actualTime = (int) (Math.random() * 10 + 1);
  180. System.out.print("Schätzen Sie die Zeit, die in Sekunden verstreichen wird (1-10): ");
  181. int estimatedTime = input.nextInt();
  182. System.out.println("Tatsächliche Zeit: " + actualTime + " Sekunden");
  183. System.out.println("Geschätzte Zeit: " + estimatedTime + " Sekunden");
  184. int difference = Math.abs(actualTime - estimatedTime);
  185. System.out.println("Differenz: " + difference + " Sekunden");
  186. if (difference == 0) {
  187. System.out.println("Perfekte Schätzung!");
  188. } else if (difference <= 2) {
  189. System.out.println("Sehr gute Schätzung!");
  190. } else if (difference <= 4) {
  191. System.out.println("Gute Schätzung.");
  192. } else {
  193. System.out.println("Schlechte Schätzung.");
  194. }
  195. }
  196. }
  197. // Test, wenn Sie das lesen, sind Sie toll!
  198. }