Ich versuche, 2 Schleifen zu verwenden, die einen Wert in einem 2d-Array zuweisen. Das Ziel ist, dass die Zahlen entweder 0 oder 16777215 sind. Wenn ich den Code verwende, den ich gemacht habe, werden alle 300 Werte, die gedruckt werden, 16777215 verwendet. Ich habe beide Werte in der if und else-Anweisung ersetzt und es wurde fortgesetzt. Die Werte sollten zufällig zwischen 0 und 16777215. Der Code, den ich zur Zeit so gewählt werden, ist wie folgt:Verwenden einer Schleife, um Werte einem 2d-Array zuzuweisen
public static void main(String[] args) {
int[][] draw = new int[400][300];
for (int i = 0; i < draw.length; i++) {
for (int b = 0; i < draw[i].length; i++) {
if (Math.random() > 0.5) {
int x = 16777215; // num for black
// should normally be 0 but for trial purposes, I used 16777215
draw[i][b] = x;
} else {
int x = 16777215; // num for white
draw[i][b] = x;
}
}
}
for (int i = 0; i < draw.length; i++) {
for (int b = 0; b < draw[i].length; b++) {
System.out.println(draw[i][b]);
//should be a random spread of 0 and 16777215 but 16777215 appears only every 300 lines in the output.
}
}
}
Edit: Zuerst bei 289 erscheinen, dann bei Zugaben von 300 (ex 589, 889)
Num für Schwarz und Weiß sind gleich. Beide Seiten des if sind identisch – Bohemian
OP Beachten Sie, dass beide Antworten korrekt sind, Sie haben zahlreiche (bearbeiten: nun, ich denke nur diese zwei) Probleme in Ihrem Code. – Rogue
Tipp: Sie sollten es auch vermeiden, alle diese fest codierten Werte zu verwenden. Definieren Sie zumindest etwas wie 'private final static int BLACK = 16 ...' (aber verwenden Sie besser eine enum mit einem "custom" int Wert). Und dann zeichne zum Beispiel [i] [b] = BLACK. Es hat keinen Sinn, diese x-Variable hier zu haben! – GhostCat