Java: Lottozahlen in Array sortieren
Diese Klasse generiert Lottozahlen und liest diese in ein Array ein.
Anschließend werden die im Array enthaltenen Werte aufsteigend sortiert.
Ich habe zwischenzeitlich vor Wut wie ein Bekloppter auf dem Wohnzimmertisch rumgehauen 🙂 4 Stunden lang den falschen Ansatz verfolgt und dann dazu übergegangen erst einzulesen, dann zu sortieren. Nun funktioniert es.
Tipp: Sonderangebote Amazon-B-Ware speziell für Studenten (Amazon-Affiliate-Link)
public class LottozahlenArraySortierung {
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean[] kugelgezogen;
int[] lottozahlen;
int zufallszahl;
int swap;
lottozahlen= new int[6];
kugelgezogen= new boolean[49];
//Belegung des Arrays mit Werten
for ( int i =0; i < lottozahlen.length; i ++){
if (i==0){
zufallszahl=(int) (Math.random()*49+1);
lottozahlen[0]=zufallszahl;
kugelgezogen[zufallszahl-1]=true;
}
zufallszahl=(int) (Math.random()*49+1);
while (kugelgezogen[zufallszahl-1]==true){
zufallszahl=(int) (Math.random()*49+1);
}
kugelgezogen[zufallszahl-1]=true;
lottozahlen[i] = zufallszahl;
}
//Sortierung der Werte innerhalb des Arrays mit einem „Bubble-Sort“-ähnlichen Verfahren
for (int i=0; i < lottozahlen.length-1; i=i+1)
for (int c=lottozahlen.length-1; c > i; c=c-1)
if (lottozahlen[c-1] > lottozahlen[c])
{
//Die zu vertauschende Zahl wird temporär unter der Variable swap gespeichert damit ihr Platz frei wird
swap = lottozahlen[c-1];
//Alte Zahl wird gegen neue getauscht
lottozahlen[c-1] = lottozahlen[c];
//swap wird hinten eingesetzt
lottozahlen[c] = swap;
}
// Ausgabe der Inhalte
for ( int i =0; i <= 5; i ++){
System.out.println(„Lottozahl „ + (i+1) + “ ist: „ + lottozahlen[i]);
}
}
}
Tipp: Sonderangebote Amazon-B-Ware speziell für Studenten (Amazon-Affiliate-Link)