Wir müssen ein Struktogramm zu dem Programm 6 aus 49 erstellen. Das Programm haben wir schon selber erstellt aber wir verstehen nicht wie wir dazu das richtige Struktogramm zeichen können. Es wäre super nett wenn jemand antworten könnte der uns helfen kann. :)
Das ist unser Programm:
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Lotto6aus49 {
public static void main(String[] args) {
// Zufällige Generierung von 6 Zahlen (1 bis 49)
Random random = new Random();
int[] generatedNumbers = new int[6];
for (int i = 0; i < 6; i++) {
generatedNumbers[i] = random.nextInt(49) + 1;
}
// Eingabe der 6 Zahlen vom Benutzer
int[] userNumbers = getUserNumbers();
// Vergleich der eingegebenen Zahlen mit den generierten Zahlen
int correctCount = countCorrectNumbers(generatedNumbers, userNumbers);
// Ausgabe des Ergebnisses
printResult(generatedNumbers, userNumbers, correctCount);
}
private static int[] getUserNumbers() {
Scanner input = new Scanner(System.in);
int[] userNumbers = new int[6];
System.out.println("Geben Sie 6 verschiedene Zahlen zwischen 1 und 49 ein:");
for (int i = 0; i < 6; i++) {
System.out.print("Zahl " + (i + 1) + ": ");
int number = input.nextInt();
if (number < 1 || number > 49 || containsNumber(userNumbers, number)) {
System.out.println("Ungültige Eingabe. Bitte geben Sie eine gültige Zahl ein.");
i--;
continue;
}
userNumbers[i] = number;
}
input.close();
return userNumbers;
}
private static boolean containsNumber(int[] numbers, int number) {
for (int n : numbers) {
if (n == number) {
return true;
}
}
return false;
}
private static int countCorrectNumbers(int[] generatedNumbers, int[] userNumbers) {
int correctCount = 0;
for (int number : userNumbers) {
if (containsNumber(generatedNumbers, number)) {
correctCount++;
}
}
return correctCount;
}
private static void printResult(int[] generatedNumbers, int[] userNumbers, int correctCount) {
Arrays.sort(generatedNumbers);
Arrays.sort(userNumbers);
System.out.println("Zahlen der Ziehung: " + Arrays.toString(generatedNumbers));
System.out.println("Ihre Zahlen: " + Arrays.toString(userNumbers));
System.out.println("Anzahl richtiger Zahlen: " + correctCount);
}
}