public class Main { // TODO: 07.12.2020 Schreibe eine Methode generateLottoNumbers, die Lottozahlen erzeugt und als int-Array // zurückgibt; Parameter: die Anzahl der Zahlen, die Maximale Größe der Zahlen // ! Das Rückgabe Array soll geordnet sein (die kleinste zuerst) + keinen Doppelgänger! public static void main(String[] args) { int[] mynumbers = generateLottoNumbers(6, 49); Arrays.sort(mynumbers); System.out.println("Das sind Ihre Lottozahlen."); System.out.println(Arrays.toString(mynumbers)); int[] winningNumbers = generateLottoNumbers(6, 49); Arrays.sort(winningNumbers); System.out.println("Die Lottozahlen für heute!"); System.out.println(Arrays.toString(winningNumbers)); } public static int[] generateLottoNumbers(int anzahl, int maximaleZahl) { var r = new Random(); var arr = new int[anzahl]; boolean isRepeated; int randomNumber = 0; int maxNum = maximaleZahl; for (int indexDrawn = 0; indexDrawn < anzahl; indexDrawn++) { do{ isRepeated = false; // Zahl zwischen 1 und maximaleZahl randomNumber = r.nextInt(maxNum + 1 ) + 1; //Doppelgänger Test gegen die non-zero Elemente for (int i = 0; i < indexDrawn; i++) { // prüft gegen jenes nicht Null Element // man hofft, dass keine Nummer eine gleiche ist if(arr[i] == randomNumber){ //Sobald eine Doppelgänger Zahl gefunden wurde, verlässt man die inner-for-loop // um dann in der äußeren wieder eine randomNumber zu generieren! isRepeated = true; break; } } //Während isRepeated falsch ist, dann wird der Test solange ausgeführt, bis er true ist } while(isRepeated); arr[indexDrawn] = randomNumber; } return arr; } }