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.

234 lines
6.6 KiB

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