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.

203 lines
5.5 KiB

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