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.

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