3x3 - Array mit Zahlen von 0-8 zufällig belegen

misaki

Mitglied
Hallo!
Ich will ein 3x3 Array .. also ein zweidimensionales Array mit der Länge 3 mehr oder weniger zufällig belegen .. mit den Zahlen von 0 bis 8. Es darf aber keine Zahl doppelt vorkommen.

Ich habe mir nun gedacht ich befülle das Array einfach mal mit ner Zufallszahl von 0 bis 8 (mit (int)(Math.Random()*8) .. und überprüfe dann ob die Zahl vorher auch wirklich noch nie verwendet wurde, sonst belege ich es so lange zufällig neu, bis die Zahl "neu" ist.
Das ist viel Aufwand, das weiß ich, aber ich denke bei 3x3 ist es zu verschmerzen ...

Mein Code sieht folgendermaßen aus:
Java:
 (int i = 0; i < 3; i++) {
				for (int j = 0; j < 3; j++) {
					spielfeld[i][j] = (int)(Math.random()*8);
					for (int x = 0; x < i; x++) {
						for (int y = 0; y < j; y++) {
							while (spielfeld[x][y] == spielfeld[i][j])
								spielfeld[i][j] = (int)(Math.random()*8); 
						}
					}
					if (spielfeld[i][j] == 0) {
						position1 = i;
						position2 = j;
					}
				}
			}

... die Position der 0 muss ich mir merken.
Mein Problem ist aber, dass das Array, das dabei entsteht zwar immer zufällig Zahlen von 0 bis 8 enthält, aber nie alle sondern auch welche doppelt vorkommen. Wo liegt der Fehler?:bahnhof:
 

misaki

Mitglied
Danke. Hab mich jetzt ein wenig gespielt und verschiedene Sachen damit ausprobiert ... Aber er sagt mir jetzt nach mehreren versuchen immer noch dass er die Methode shuffle nicht findet?

(btw. warum funktioniert meine vorherige methode nicht? :))
 

Marco13

Top Contributor
Collections.shuffle kann nicht auf einen Array angewendet werden. Die ursprüngliche Methode funktioniert nicht, weil ... ähja diese inneren Schleifen da machen einfach keinen Sinn :bahnhof: (Übersichtlicher wäre es vielleicht mit einer Methode wie
Code:
private static boolean arrayAlreadyContains(int array[][], int value) { ... }
)

Die einfachste Lösung wäre wohl sowas wie
Code:
List<Integer> list = new ArrayList<Integer>();
for (int i=0; i<3*3; i++) list.add(i);
Collections.shuffle(list);
for (int x = 0; x < 3; x++) {
    for (int y = 0; y < 3; y++) {
        spielfeld[x][y] = list.get(x*3+y);
    }
}
Alternativ ein eigenes "shuffle" für einen 2D-int-array schreiben.
 

misaki

Mitglied
Nach langem googlen hab ich das auch herausgefunden aber danke!!

ich hatte den Code jetzt so ähnlich..
hab die ArrayList auch mit 0 bis 8 befüllt und dann gemischt.

aaber ... warum nehme ich
list.get(x*3 + y) ???
das ergibt für mich keinen sinn, mal abgesehen davon, dass es funktioniert ... gibts da eine logische erklärung? :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Erste Schritte Int Array zufällig mit Zahlen füllen Java Basics - Anfänger-Themen 7
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
H Eingegebene Zahlen mit Array ausgeben Java Basics - Anfänger-Themen 18
R Array mit Unter- und Obergrenze ganze Zahlen dazwischen erscheinen nicht Java Basics - Anfänger-Themen 1
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
Moji Klassen Array Zahlen zu Sternchen (U-Helmich 7.1-4) Java Basics - Anfänger-Themen 5
A Ein Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 4
F Zahlen aus Datei einlesen und in Array speichern Java Basics - Anfänger-Themen 2
H Array mit Zahlen die durch 3 und 5 teilbar sind erstellen Java Basics - Anfänger-Themen 13
B Array via Schleife mit ungeraden bzw geraden Zahlen füllen Java Basics - Anfänger-Themen 7
O Array nach gleichen Zahlen prüfen und ausgeben Java Basics - Anfänger-Themen 6
J jOptionPane, Array und negative Zahlen Java Basics - Anfänger-Themen 2
H überprüfen ob in Array gleiche int-Zahlen gespeichert werden. Java Basics - Anfänger-Themen 7
T Lotto Zahlen in Array speichern Java Basics - Anfänger-Themen 2
W Erste Schritte Zweidimensionales Array - Gerade Zahlen anzeigen lassen Java Basics - Anfänger-Themen 3
B Methoden Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 4
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
L Array: Summe aller geraden und ungeraden Zahlen ermitteln Java Basics - Anfänger-Themen 9
H Gerade Zahlen aus Array entfernen Java Basics - Anfänger-Themen 8
B Fibonacci Zahlen rekursiv Array Java Basics - Anfänger-Themen 12
V Array zahlen eingeben und ausgeben Java Basics - Anfänger-Themen 5
S Zahlen Array durchsuchen Java Basics - Anfänger-Themen 6
J Array mit Zahlen füllen Java Basics - Anfänger-Themen 28
T Array mit String, Zahlen in If Saetze packen Java Basics - Anfänger-Themen 3
W 2dim - Array Ausgabe von Zahlen, teilbar durch 3. Java Basics - Anfänger-Themen 4
H n Zahlen aus einem Array addieren Java Basics - Anfänger-Themen 17
C OOP Array mit Zahlen zw. 0 und 9 befüllen Java Basics - Anfänger-Themen 3
A Double[] Array zahlen per Argument übergeben Java Basics - Anfänger-Themen 5
U JAVA - Ungerade Zahlen Array Java Basics - Anfänger-Themen 9
M Zahlen aus Array lesen Java Basics - Anfänger-Themen 19
N Unsortierter Array mit einmaligen Zahlen Java Basics - Anfänger-Themen 9
L Zahlen auf Diagonalen im Array Java Basics - Anfänger-Themen 15
J Erste Schritte Array: Häufigkeiten bzw. gerade/ungerade Zahlen Java Basics - Anfänger-Themen 5
T Mehrfach auftretende Zahlen in einem Array Java Basics - Anfänger-Themen 13
H Die Eingabe von beliebig vielen Zahlen in ein Array - ich kann es nicht Java Basics - Anfänger-Themen 6
A Zahlen im Array werden überschrieben Java Basics - Anfänger-Themen 6
T Zahlen in Array speichern und ausgeben Java Basics - Anfänger-Themen 14
F.S.WhiTeY Mehrdimensionales array, größere zahlen von innen nach außen Java Basics - Anfänger-Themen 3
K Zahlen und buchstaben gemeinsam in ein array? Java Basics - Anfänger-Themen 17
B Zufällige Zahlen in Array sortieren Java Basics - Anfänger-Themen 18
S Zahlen in Array speichern und addieren Java Basics - Anfänger-Themen 4
M mehrfach auftretende zahlen in einem array Java Basics - Anfänger-Themen 6
M String mit mehreren Zahlen in Integer-Array Java Basics - Anfänger-Themen 2
X Array nur mit Zahlen (test) Java Basics - Anfänger-Themen 11
N Array mit negativen Zahlen Java Basics - Anfänger-Themen 4
E Array mit Zahlen von 1-(Zeilen*Spalten) befüllen Java Basics - Anfänger-Themen 8
O Zweidemensionales Array auf zwei gleiche Zahlen prüfen Java Basics - Anfänger-Themen 15
D Array nach ungerade zahlen sortieren Java Basics - Anfänger-Themen 6
A Sortieren von Zahlen in einem Array Java Basics - Anfänger-Themen 13
P Zahlen aus Datei in Array einlesen Java Basics - Anfänger-Themen 21
T Zahlen in ARRAY Sortieren Java Basics - Anfänger-Themen 10
D 6 zahlen aus einem array rausziehen Java Basics - Anfänger-Themen 2
G Zahlen aus HashSet in ein int Array übergeben Java Basics - Anfänger-Themen 15
L zahlen in mehrdimensionales array einlesen Java Basics - Anfänger-Themen 3
G Mit Switch/Case Zahlen zu Array hinzufügen Java Basics - Anfänger-Themen 14
I Zahlen in Array schreiben und dann sortieren Java Basics - Anfänger-Themen 7
P String aus Zahlen auslesen und in einem Array speichern Java Basics - Anfänger-Themen 3
Q Zahlen sortiert in Array schreiben Java Basics - Anfänger-Themen 5
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben