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
229 lines
6.5 KiB
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 + " ");
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void EasterEgg() {
|
|
System.out.println(" _______");
|
|
System.out.println(" / \\");
|
|
System.out.println(" ( 0 0 )");
|
|
System.out.println(" \\ --- /");
|
|
System.out.println(" ------");
|
|
}
|
|
|
|
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!
|
|
}
|