|
@ -1,132 +1,11 @@ |
|
|
package LernProgramm; |
|
|
package LernProgramm; |
|
|
|
|
|
|
|
|
import java.util.Random; |
|
|
|
|
|
import java.util.Scanner; |
|
|
import java.util.Scanner; |
|
|
|
|
|
|
|
|
public class ProgrammMain { |
|
|
public class ProgrammMain { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Quizz |
|
|
|
|
|
|
|
|
|
|
|
public static void Quizz() { |
|
|
|
|
|
Random rand = new Random(); |
|
|
|
|
|
try (Scanner scanner = new Scanner(System.in)) { |
|
|
|
|
|
String[][] questions = { |
|
|
|
|
|
{ "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(questions.length); |
|
|
|
|
|
String[] currentQuestion = questions[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 answer = scanner.nextLine(); |
|
|
|
|
|
|
|
|
|
|
|
if (answer.equalsIgnoreCase(currentQuestion[5])) { |
|
|
|
|
|
System.out.println("Richtig!"); |
|
|
|
|
|
} else { |
|
|
|
|
|
System.out.println("Falsch!"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Prinmbis100 |
|
|
|
|
|
public static void PrimBis100() { |
|
|
|
|
|
for (int i = 2; i <= 100; i++) { |
|
|
|
|
|
boolean isPrime = true; |
|
|
|
|
|
for (int j = 2; j < i; j++) { |
|
|
|
|
|
if (i % j == 0) { |
|
|
|
|
|
isPrime = false; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (isPrime) { |
|
|
|
|
|
System.out.print(i + " "); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Binärinverter |
|
|
|
|
|
|
|
|
|
|
|
public static void Binaerrechner() { |
|
|
|
|
|
|
|
|
|
|
|
try (Scanner scanner = new Scanner(System.in)) { |
|
|
|
|
|
System.out.print("Gebe den ersten Binärcode ein: "); |
|
|
|
|
|
String binaryCode1 = scanner.nextLine(); |
|
|
|
|
|
System.out.print("Gebe den zweiten Binärcode ein: "); |
|
|
|
|
|
String binaryCode2 = scanner.nextLine(); |
|
|
|
|
|
System.out.print("Gebe die gewünschte Operation ein (+, -, *, /): "); |
|
|
|
|
|
char operation = scanner.next().charAt(0); |
|
|
|
|
|
|
|
|
|
|
|
int result = calculate(binaryCode1, binaryCode2, operation); |
|
|
|
|
|
System.out.println("Das Ergebnis ist: " + result); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
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; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) { |
|
|
public static void main(String[] args) { |
|
|
|
|
|
|
|
@ -144,15 +23,15 @@ public class ProgrammMain { |
|
|
FunktionenAusgelagert.Karteikarten(); |
|
|
FunktionenAusgelagert.Karteikarten(); |
|
|
break; |
|
|
break; |
|
|
case 2: |
|
|
case 2: |
|
|
Quizz(); |
|
|
|
|
|
|
|
|
FunktionenAusgelagert.Quizz(); |
|
|
// Funktion |
|
|
// Funktion |
|
|
break; |
|
|
break; |
|
|
case 3: |
|
|
case 3: |
|
|
Binaerrechner(); |
|
|
|
|
|
|
|
|
FunktionenAusgelagert.Binaerrechner(); |
|
|
// Funktion |
|
|
// Funktion |
|
|
break; |
|
|
break; |
|
|
case 4: |
|
|
case 4: |
|
|
PrimBis100(); |
|
|
|
|
|
|
|
|
FunktionenAusgelagert.PrimBis100(); |
|
|
// Funktion |
|
|
// Funktion |
|
|
break; |
|
|
break; |
|
|
case 5: |
|
|
case 5: |
|
|