package LernProgramm; import java.util.Random; import java.util.Scanner; public class FunktionenAusgelagert { //Funktionen, die von der main Funktion ausgelagert wurden, //da diese sonst zu unüberscihtlich gewesen wär und die main untergegangen wäre //1 public static void Karteikarten() { try (Scanner eingabeKK = new Scanner(System.in)) { String[][] karteikarten = { { "Was ist die Hauptstadt von Deutschland?", "Berlin" }, { "Welches ist der größtes Planet in unserem Sonnensystem?", "Jupiter" }, { "Wer hat die Mona Lisa gemalt?", "Leonardo da Vinci" }, { "Wer ist der Bundeskanzler von Deutschland?", "Olaf Scholz" }, { "Wer hat den Z1 entworfen?", "Zuse" }, { "W", "Olaf Scholz" }, { "Wer ist der Bundeskanzler von Deutschland?", "Olaf Scholz" }, // Sonstige Fragen können hier eingefügt werden }; int PunkteZähler = 0; for (String[] karteikarte : karteikarten) { System.out.println(karteikarte[0]); String answer = eingabeKK.nextLine(); if (answer.equalsIgnoreCase(karteikarte[1])) { System.out.println("Korrekt!"); PunkteZähler++; } else { System.out.println("Leider falsch. Die richtige Antwort wäre: " + karteikarte[1]); } } System.out.println("Dein Punktestand ist " + PunkteZähler + " von insgesamt " + karteikarten.length); } } //2 public static void Fakultaet() { try (Scanner eingabeFK = new Scanner(System.in)) { String ein = eingabeFK.nextLine(); int zahlFK = Integer.parseInt(ein); if (zahlFK <= 0) { System.out.println("1"); } int ergebnis = 1; for (int i = 1; i <= zahlFK; i++) { ergebnis *= i; } System.out.println(ergebnis); } catch (NumberFormatException e) { e.printStackTrace(); } } //3 public static void schaltjahr() { System.out.println("Welches Jahr möchtest du untersuchen?"); try (Scanner einSJ = new Scanner(System.in)) { String jahr = einSJ.nextLine(); int schaltjahr = Integer.parseInt(jahr); if (schaltjahr % 400 == 0) System.out.println("Schaltjahr!"); else if (schaltjahr % 100 == 0) System.out.println("Kein Schaltjahr!"); else if (schaltjahr % 4 == 0) System.out.println("Schaltjahr!"); else System.out.println("Kein Schaltjahr!"); } catch (NumberFormatException e) { e.printStackTrace(); } } //4 public static void Quizz() { Random rand = new Random(); try (Scanner einQ = new Scanner(System.in)) { String[][] fragen = { { "Welche Farbe hat ein Bananen?", "A) Gelb", "B) Grün", "C) Blau", "D) Rot", "A" }, { "Wie viele Beine hat eine Spinne?", "A) 4", "B) 6", "C) 8", "D) 10", "C" }, { "Wer hat die Formel E=mc² entwickelt?", "A) Isaac Newton", "B) Albert Einstein", "C) Galileo Galilei", "D) Stephen Hawking", "B" }, { "Welches ist der größte Planet im Sonnensystem?", "A) Merkur", "B) Venus", "C) Erde", "D) Jupiter", "D" } // Sonstige Fragen }; int questionIndex = rand.nextInt(fragen.length); String[] currentQuestion = fragen[questionIndex]; System.out.println(currentQuestion[0]); System.out.println(currentQuestion[1]); System.out.println(currentQuestion[2]); System.out.println(currentQuestion[3]); System.out.println(currentQuestion[4]); String antwort = einQ.nextLine(); if (antwort.equalsIgnoreCase(currentQuestion[5])) { System.out.println("Richtig!"); } else { System.out.println("Falsch!"); } } } //5 public static void Binaerrechner() { try (Scanner scannerBR = new Scanner(System.in)) { System.out.print("Gebe den ersten Binärcode ein: "); String binaerCode1 = scannerBR.nextLine(); System.out.print("Gebe den zweiten Binärcode ein: "); String binaerCode2 = scannerBR.nextLine(); System.out.print("Gebe die gewünschte Operation ein (+, -, *, /): "); char operation = scannerBR.next().charAt(0); int ergebnisBR = calculate(binaerCode1, binaerCode2, operation); System.out.println("Das Ergebnis ist: " + ergebnisBR); } } public static int calculate(String binaryCode1, String binaryCode2, char operation) { int decimal1 = binaryToDecimal(binaryCode1); int decimal2 = binaryToDecimal(binaryCode2); int result = 0; switch (operation) { case '+': result = decimal1 + decimal2; break; case '-': result = decimal1 - decimal2; break; case '*': result = decimal1 * decimal2; break; case '/': result = decimal1 / decimal2; break; default: System.out.println("Ungültige Operation! Bitte wähle +, -, * oder /."); return 0; } return decimalToBinary(result); } public static int binaryToDecimal(String binaryCode) { int decimal = 0; for (int i = binaryCode.length() - 1; i >= 0; i--) { char currentChar = binaryCode.charAt(i); if (currentChar == '1') { decimal += Math.pow(2, binaryCode.length() - i - 1); } else if (currentChar != '0') { System.out.println("Ungültiger Binärcode! Bitte gebe nur Nullen und Einsen ein."); return 0; } } return decimal; } public static int decimalToBinary(int decimal) { int binary = 0; int power = 0; while (decimal > 0) { binary += (decimal % 2) * (int) Math.pow(10, power); decimal /= 2; power++; } return binary; } //6 public static void PrimBis100() { for (int i = 2; i <= 100; i++) { boolean istPrimZahl = true; for (int j = 2; j < i; j++) { if (i % j == 0) { istPrimZahl = false; break; } } if (istPrimZahl) { System.out.print(i + " "); } } } //7 public static void EasterEgg() { System.out.println(" _______"); System.out.println(" / \\"); System.out.println(" ( 0 0 )"); System.out.println(" \\ --- /"); System.out.println(" ------"); } //8 public static void Timer() { try (Scanner input = new Scanner(System.in)) { int actualTime = (int) (Math.random() * 10 + 1); System.out.print("Schätzen Sie die Zeit, die in Sekunden verstreichen wird (1-10): "); int estimatedTime = input.nextInt(); System.out.println("Tatsächliche Zeit: " + actualTime + " Sekunden"); System.out.println("Geschätzte Zeit: " + estimatedTime + " Sekunden"); int difference = Math.abs(actualTime - estimatedTime); System.out.println("Differenz: " + difference + " Sekunden"); if (difference == 0) { System.out.println("Perfekte Schätzung!"); } else if (difference <= 2) { System.out.println("Sehr gute Schätzung!"); } else if (difference <= 4) { System.out.println("Gute Schätzung."); } else { System.out.println("Schlechte Schätzung."); } } } // Test, wenn Sie das lesen, sind Sie toll! }