(Math.random()*49) zahl darf aber nur einmal gezogen werden

Rouven50

Aktives Mitglied
hey ich steh grad total aufm schlauch… ich weiß einfach nicht wie ich das lösen kann das wenn man zb 6 zufällig erzeugte zahlen zieht, dass die zahl aber nur einmal aufgerufen wird.


als erstes habe ich ein array erzeugt wo die werte drin gespeichert werden
Java:
		int zahl;
		int [] zahlen = new int[6];
		for(int a=0;a<zahlen.length;a++){
			zahl =(int)((Math.random())*6)+1;
			zahlen[a] = zahl;
                        //hier
		}

aber jetzt muss man ja wo "hier" steht wieder eine schleife einbauen die testet ob die zahl bereits vorhanden ist das hab ich mir so gedacht:

Java:
		int zahl;
		int [] zahlen = new int[6];
		for(int a=0;a<zahlen.length;a++){
			zahl =(int)((Math.random())*6)+1;
			zahlen[a] = zahl;
                        for(int b=0;b<a;b++){
                             if(zahlen[b] == zahl){
                                 zahl =(int)((Math.random())*6)+1;
                                 zahlen[b] = zahl;
                             }
                        }
                  IO.print(zahlen[a]);
		}

aber das geht ja auch nicht weil man dann wieder erneut prüfen müsste ob zahlen == zahl und für die bereits geprueften elemente müsste man das auch nochmal machen…

oder man müsste die 2 arrays haben wo man einmal alle erlaubten werte drin speichert und dann noch ein array wo man den zufällig erzeugten array-inhalt übergibt und den dann zb auf 0 setzt und dann sagt das nur werte die nicht 0 sind erlaubt sind…
aber an der umsetzung hapert es noch
 
G

Gast2

Gast
Die Forensuche hätte dir hier bestimmt weitergeholfen, das wurde schon sehr oft behalndelt:
Java:
	public static void main(String[] args) {
		List<Integer> allNumbers = new LinkedList<Integer>();
		for (int i = 1; i <= 49; i++) {
			allNumbers.add(i);
		}
		
		Collections.shuffle(allNumbers);
		
		List<Integer> numbers = allNumbers.subList(0, 6);
		System.out.println("Gezogene Zahlen: " + numbers);
	}
Oder du nimmst die Variante mit dem Set.
 

thorstenthor

Bekanntes Mitglied
Keine Doppelten?

Java:
int[] arr = new int[6];
for (int i = 0; i < arr.length; i++) {
  int z = (int) (Math.random() * 6.0) + 1;
  int j = 0;
  while (j < i) {
    if (arr[j] == z) {
      break;
    }
  }
  if (j == i) {
    arr[i] = z;
  } else {
    i--;
  }
}

oder eine intelligente Datenstruktur wählen.
 

Rouven50

Aktives Mitglied
endet bei mir in einer endlosschleife die zufallszahlen 1-6 hab ich nur testweise genommen… soll für eine beliebige zahlengröße gelten
 
Zuletzt bearbeitet:

thorstenthor

Bekanntes Mitglied
Etwas vergessen gehabt:

Java:
        int[] arr = new int[6];
        for (int i = 0; i < arr.length; i++) {
            int z = (int) (Math.random() * 6.0) + 1;
            int j = 0;
            for (; j < i; j++) {
                if (arr[j] == z) {
                    break;
                }
            }
            if (j == i) {
                arr[i] = z;
            } else {
                i--;
            }
        }
        System.out.println(Arrays.toString(arr));

Eine Datenstruktur, die keine doppelten Elemente erlaubt, ist wirklich besser - oder eine, wo Kandidaten raus gewählt werden.
 

thorstenthor

Bekanntes Mitglied
Manche finden auch das besser (lesbarer):

Java:
        int[] arr = new int[6];
        for (int i = 0; i < arr.length;) {
            int z = (int) (Math.random() * 6.0) + 1;
            boolean b = true;
            for (int j = 0; b && j < i; j++) {
                if (arr[j] == z) {
                    b = false;
                }
            }
            if (b) {
                arr[i] = z;
                i++;
            } else {
                //pause
            }
        }
        System.out.println(Arrays.toString(arr));

Oder nur while-Schleifen etdc.

java.util.Arrays.toString# erstellt einen speziellen String....
 
Zuletzt bearbeitet:

thorstenthor

Bekanntes Mitglied
Java:
        List<Integer> list = Arrays.asList(new Integer[]{1, 2, 3, 4, 5, 6});
        Collections.shuffle(list);
        System.out.println(list);

verlier auch solche Möglichkeiten nicht aus den Augen, es kommt darauf an, wie viele Zahlen aus wie vielen Zahlen genommen werden sollen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Math.Random Java Basics - Anfänger-Themen 9
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
alialhajhossein math.random Java Basics - Anfänger-Themen 3
D Wahrscheinlichkeiten mit Math.random() Methode Java Basics - Anfänger-Themen 1
A Random Double mit Math.round() runden? Java Basics - Anfänger-Themen 1
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
I math.random Grenzwerte Java Basics - Anfänger-Themen 2
E Methoden Math.Random() kürzen ? Java Basics - Anfänger-Themen 2
J Klassen Math && Random: wie zufällig sind Zufallszahlen? Java Basics - Anfänger-Themen 19
J Methoden Math.random unklar Java Basics - Anfänger-Themen 4
Thorwine Erste Schritte Wuerfelspiel mit Math.random() Java Basics - Anfänger-Themen 10
S Math.random() Zufall ? Java Basics - Anfänger-Themen 2
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
X Problem mit Math.random() Java Basics - Anfänger-Themen 2
T Random vs. Math.random() Java Basics - Anfänger-Themen 2
B Verstehe ZufallInt = (int) (Math.random() * 5 + 1); nicht Java Basics - Anfänger-Themen 9
T Zufallserzeugung mit math.random und speichern in array Java Basics - Anfänger-Themen 29
J Woher kommt das Objekt "Math" bei Math.random(); ? Java Basics - Anfänger-Themen 3
P Typecasting für Ganzzahlige Zufallszahl (Math.random) Java Basics - Anfänger-Themen 2
J Bedeutung von math.random() math.round() Java Basics - Anfänger-Themen 7
F Problem Math.random in for-Schleife Java Basics - Anfänger-Themen 8
C math.random() Java Basics - Anfänger-Themen 9
R math.random wertebereich 16-21 Java Basics - Anfänger-Themen 3
B Math.random und Strings Java Basics - Anfänger-Themen 13
Luk10 math.random() Java Basics - Anfänger-Themen 2
J Math.random() - kurze frage. Java Basics - Anfänger-Themen 20
J Math.random Java Basics - Anfänger-Themen 12
T Math.random() Zahlen von 25 - 50. Wie? Java Basics - Anfänger-Themen 7
H Brauche ganz dringend HILFEEE! Math random Java Basics - Anfänger-Themen 19
T Math.Random negativer Intervall Java Basics - Anfänger-Themen 2
B Zahlenwiederholung bei Math.random verhindern Java Basics - Anfänger-Themen 4
J Zufallszahl ohne Math.random Java Basics - Anfänger-Themen 4
A Probleme mit Math.random Java Basics - Anfänger-Themen 4
P 2n Potenzieren ohne Math.pow oder pow Java Basics - Anfänger-Themen 8
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
L Math.exp also eigenen Algorithmus Java Basics - Anfänger-Themen 2
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
B Potenzrechnung mit WindowBuilder ohne math.pow() Java Basics - Anfänger-Themen 1
B Potenzen ohne Math.pow Java Basics - Anfänger-Themen 4
N Datentypen Math.floor rundet nicht ab Java Basics - Anfänger-Themen 4
S Math.ceil für float Java Basics - Anfänger-Themen 1
M Warum ist dieses Feld der Klasse Math immutable? Java Basics - Anfänger-Themen 7
S math Methoden in Java (quadrat) Java Basics - Anfänger-Themen 7
C Erste Schritte Math.sin und Co. funktionieren nicht Java Basics - Anfänger-Themen 5
A Potenzen ohne math.pow Java Basics - Anfänger-Themen 1
L Klassen Point- und Math-Klasse Java Basics - Anfänger-Themen 3
J Musterlösung Verständnis Frage zu Math.abs() Java Basics - Anfänger-Themen 5
J java.lang.math asin() Java Basics - Anfänger-Themen 18
L Math.floor und double Array Java Basics - Anfänger-Themen 13
B Math.acos() Java Basics - Anfänger-Themen 4
N Methoden Probleme mit Math.cos Java Basics - Anfänger-Themen 3
J Methoden Rekursive Potenz ohne Math.Pow() Java Basics - Anfänger-Themen 9
Luk10 3. Wurzel mit Math.pow(x, (1/3)) Java Basics - Anfänger-Themen 2
J Datentypen Math.sqrt() immer NaN Java Basics - Anfänger-Themen 8
T Ungenaue Werte bei Math.atan Java Basics - Anfänger-Themen 10
M Math.round Java Basics - Anfänger-Themen 32
M Math Class Java Basics - Anfänger-Themen 2
B Math.abs Java Basics - Anfänger-Themen 4
Haave Postfix-Rechner: mehrere math. Operationen nacheinander ausführen Java Basics - Anfänger-Themen 8
T Math.signum Java Basics - Anfänger-Themen 2
N Math + Variablen + Ausgabe Java Basics - Anfänger-Themen 2
B math. Operationen + Ausgabe Fehler :S Java Basics - Anfänger-Themen 5
C math.pow funktionert nicht richtig oder garnicht Java Basics - Anfänger-Themen 4
G Quelltext von Methoden in der Klasse Math Java Basics - Anfänger-Themen 11
D runden ohne math! (zur not auch mit) Java Basics - Anfänger-Themen 9
G Klasse Math Java Basics - Anfänger-Themen 2
T Math.tan() Problem Java Basics - Anfänger-Themen 2
M Math.sin in Radiant in Java? Java Basics - Anfänger-Themen 5
C Math-Funktion Java Basics - Anfänger-Themen 10
S Math.tan Problem rechnet falsches Ergebniss aus. Java Basics - Anfänger-Themen 3
F Math.abs() Java Basics - Anfänger-Themen 3
M Probleme mit Math.round() Java Basics - Anfänger-Themen 5
P Math.abs, praktische Anwendung? Java Basics - Anfänger-Themen 4
M Eclipse: Fehler bei: import java.lang.math Java Basics - Anfänger-Themen 7
D math und abs() Java Basics - Anfänger-Themen 14
E Problem mit Methode Math.max Java Basics - Anfänger-Themen 2
G Math.cos Java Basics - Anfänger-Themen 4
S Math-Befehl für Quadrieren! Java Basics - Anfänger-Themen 6
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
laxla123 Bedeutung int random Java Basics - Anfänger-Themen 3
monsterherz Arbeiten mit Random Java Basics - Anfänger-Themen 12
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
K Problem mit "Random" Java Basics - Anfänger-Themen 5
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
S Random(x,y,z) Java Basics - Anfänger-Themen 4
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
W Random Zahl unter Berücksichtung eines Durchschnitts Java Basics - Anfänger-Themen 7
T Random soll Zufallszahl beibehalten. Java Basics - Anfänger-Themen 11
C Arraywerte random vertauschen Java Basics - Anfänger-Themen 2
SchmidiMC Methoden Random in Methode neu generieren lassen Java Basics - Anfänger-Themen 1
J Operatoren Random wird nur einmal erstellt und dann immer verwendet Java Basics - Anfänger-Themen 2
D Erste Schritte Random erzeugen Java Basics - Anfänger-Themen 28
D Erste Schritte Random Java Basics - Anfänger-Themen 79
Z Problem mit "Random" in Java Java Basics - Anfänger-Themen 12
Z Array-Index einmalig je mit Random füllen Java Basics - Anfänger-Themen 7
J Wie lege ich eine durch Random ausgesuchte Zahl in ein Array? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben