Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
2 Stellen in einem Array vergleichen und bei übereinstimmen eine davon ersetzen
Hab es leider nicht geschafft einen guten Titel zu formulieren..
Sitze an einem kleinen Lottoprogramm, alles was ihr wissen müsst ist, dass ioch 6 Nummern ziehe und sie in einen Array packe. Das ganze sieht so aus:
Code:
for (int i = 0; i <=5; i++) {
randomZahlen[i] = random();
} // end of for
// dazugehörige Methode
public static int random() {
int a = 0;
//Zufallsgenerator Anlegen
Random lotto = new Random();
// Zufallsahl ziwschen 0 und 49
// Grenze erzeugen und in randomZahlen speichern
a = lotto.nextInt(50);
return a;
}
Da im Lotto eine Zahl nicht 2x gezogen werden kann, möchte ich nach dem ziehen überprüfen ob die gezogene Zahl schon vorkommt, wenn ja soll die besagte Zahl durch eine neue Ziehung ersetzt werden. So sieht mein unnötig komplizierter Ansatz aus:
Code:
for (int i = 0; i <=5; i++) {
randomZahlen[i] = random();
// counter3 soll die Stelle der soeben erzeugten Nummer im Array zählen
counter3++;
counter3 = counter3 -1;
for (int j = 0;j <=counter3; j++) {
vergleich = j + 1;
// randomZahlen ist der Array
// hier habe ich versucht die Nummer mit der darauffolgenden zu Vergleichen
if (randomZahlen[j] == randomZahlen[vergleich]) {
randomZahlen[vergleich] = random();
} // end of if
} // end of for
} // end of for
Kann es sein dass ich versuche die eben erzeugt Nummer mit der (nicht existenten) darauffolgenden Nummer zu vergleichen? Bisschen Aufklärung wäre sehr nett.
import java.util.Random;
public class Lottoprogramm {
private static int[] randomZahlen = new int[6];
public static void main(String[] args) {
for (int i = 0; i <= 5; i++) {
int gezogeneZahl = random();
while (arrayEnthaeltZahlBereits(gezogeneZahl) == true) {
gezogeneZahl = random();
}
randomZahlen[i] = gezogeneZahl;
}
// Ausgeben
for (int i = 0; i < randomZahlen.length; i++) {
System.out.print(randomZahlen[i] + " ");
}
}
private static boolean arrayEnthaeltZahlBereits(int zahl) {
for (int i = 0; i < randomZahlen.length; i++) {
if (randomZahlen[i] == zahl) {
return true;
}
}
return false; }
public static int random() {
int a = 0;
// Zufallsgenerator Anlegen
Random lotto = new Random();
// Zufallsahl ziwschen 0 und 49
// Grenze erzeugen und in randomZahlen speichern
a = lotto.nextInt(50);
return a;
}
}