Zufallszahl nur einmal

razr981

Neues Mitglied
Hallo Leute,

ich möchte ein Quiz machen und wähle die Fragen eines Array mit einer Zufallszahl aus. Mein Problem ist, dass jede Zufallszahl nur einmal vorkommen sollte. Ich wollte es mit einer ArrayList lösen in die ich die bereits ausgewählten Zufallszahlen einspeichere und bei jeder Neuen wieder prüfe ob sie schon vorkam. Jedoch klappt es bisher noch nicht.



Java:
public static int zufall(int min, int max){		
	
		System.out.println(fragenEinmal.toString());
		
		Random rand = new Random(); 
		
		int zufallzahl = rand.nextInt((max - min)+1) +min;		
		if(fragenEinmal.size()==0){											    
               fragenEinmal.add(zufallzahl);						 
		
		}
		
		else{
			for (int i = 0; i < fragenEinmal.size(); i++) {
			if (zufallzahl != fragenEinmal.get(i)){
				fragenEinmal.add(zufallzahl);
				
				break;
				
			}
			else {
				zufall(0,51);	
						}
			}
		}
		
		return zufallzahl;	
		
	}
 
Zuletzt bearbeitet:

Natac

Bekanntes Mitglied
Ich würde dir eine Klasse empfehlen, da es ja offensichtlich einen Zustand gibt (welche Zahlen wurden schon gezogen):

Java:
public class Zufall{
  private int min;
  private int max;
  private boolean[] gezogen;
   

  public Zufall(int min, int max){
    this.min = min;
    this.max = max;
    this.gezogen= new boolean[max-min];
  }

  public int nextZahl(){
   int zahl;
   do{
     zahl = new Random().nextInt((max - min)+1);
   }while(gezogen[zahl] == true)
   
   gezogen[zahl] = true;
   return zahl
  }
}
Natürlich gibt es noch einige Fragestellungen zu klären:
- Wie willst du reagieren, wenn max <= min ist?
- Was soll nextZahl() zurückgeben, wenn bereits jede Zahl 1x gezogen wurde (im Moment Endlosschleife)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Javafan01 Deklarieren einer Math.random() Zufallszahl Allgemeine Java-Themen 16
O Zufallszahl mit Priorität Allgemeine Java-Themen 4
K double Zufallszahl Allgemeine Java-Themen 6
E Zufallszahl generieren Allgemeine Java-Themen 5
F Zufallszahl erzeugen Allgemeine Java-Themen 4
F Zugreifen auf vorher erzeugte Zufallszahl! Allgemeine Java-Themen 4
S zufallszahl zwischen -1 und 1 Allgemeine Java-Themen 9
J Thread started nur einmal Allgemeine Java-Themen 19
I if-eingaben nur einmal anzeigen Allgemeine Java-Themen 6
D Erste Schritte Arrays vergleichen und die zahlen die nur einmal vorkommen ausgeben Allgemeine Java-Themen 5
K Erste Schritte Start einer JAR Datei 2 Wege aber einmal nicht die volle Funktionlität Allgemeine Java-Themen 20
L Java Slick2D stürzt ab- Zu viel auf einmal? (LinkedList) Allgemeine Java-Themen 7
F Best Practice Application extern nur einmal startbar Allgemeine Java-Themen 3
S Eine Klasse die jeden String nur einmal annimmt Allgemeine Java-Themen 4
K Mehrere Arrays auf einmal erstellen Allgemeine Java-Themen 2
B Alle Exceptions auf einmal abfangen Allgemeine Java-Themen 4
S mit Class eine Klasse nur einmal instantiieren Allgemeine Java-Themen 4
T KeyListener lässt sich nur einmal drücken Allgemeine Java-Themen 2
C Geschachtelte For-Schleife: Äußere Schleife wird nur einmal durchlaufen!? Allgemeine Java-Themen 3
T RegEx, wieder einmal ... :-( Allgemeine Java-Themen 19
W Wieder einmal: PNG ausdrucken Allgemeine Java-Themen 3
M Anwendung nur einmal starten / Zeichen in String zählen Allgemeine Java-Themen 7
C Anwendung nur einmal Starten Allgemeine Java-Themen 11
D Scrollbalken in meiner JTable auf einmal weg. Allgemeine Java-Themen 2
K Thread für SocketServer nur einmal starten Allgemeine Java-Themen 5
MQue JFrame nur einmal öffnen Allgemeine Java-Themen 3
E Hibernateanwendung auf einmal laaangsam? Allgemeine Java-Themen 3
G Mehrere Bytes auf einmal einlesen Allgemeine Java-Themen 4
B Noch einmal Kopierschutz, sorry Allgemeine Java-Themen 7
S auf einmal gibt es einen fehler. Allgemeine Java-Themen 3
K Oberserver nur einmal verwendbar? Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben