lgorse
Mitglied
Hallo,
ich programmiere noch nicht lange in Java und habe ein (scheinbar) unlösbares Problem. Ich habe ein 3-dimensionales Array my_array und will diesem Werte zuweisen:
das führt aber zur folgenden Ausgabe:
ändere ich den Code jedoch folgendermaßen ab (Z. 10 - 12):
erhalte ich die von mir gewollte Ausgabe:
Gibt es trotzdem eine Möglichkeit, die Zuweisung auf die 1. Art zu vollziehen oder muss ich dafür die 2. Variante nehmen?
Schonmal im voraus Vielen Dank für die Antworten,
lgorse
ich programmiere noch nicht lange in Java und habe ein (scheinbar) unlösbares Problem. Ich habe ein 3-dimensionales Array my_array und will diesem Werte zuweisen:
Java:
public void array_zuweisen() {
int rows = 5, cols = 5;
String[][][] my_array = new String[rows][cols][3];
String[] n_clear = {"-", "-", "-"};
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
my_array[i][j] = n_clear
}
}
System.out.println("Davor: ");
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
System.out.print("(" + my_array[i][j][0] + ";" + my_array[i][j][1] + ";" + my_array[i][j][2] + ")");
}
System.out.println("");
}
my_array[1][1][0] = "1";
my_array[1][1][1] = "2";
my_array[1][1][2] = "3";
System.out.println("");
System.out.println("Danach: ");
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
System.out.print("(" + my_array[i][j][0] + ";" + my_array[i][j][1] + ";" + my_array[i][j][2] + ")");
}
System.out.println("");
}
}
das führt aber zur folgenden Ausgabe:
Code:
Davor:
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
Danach:
(1;2;3)(1;2;3)(1;2;3)(1;2;3)(1;2;3)
(1;2;3)(1;2;3)(1;2;3)(1;2;3)(1;2;3)
(1;2;3)(1;2;3)(1;2;3)(1;2;3)(1;2;3)
(1;2;3)(1;2;3)(1;2;3)(1;2;3)(1;2;3)
(1;2;3)(1;2;3)(1;2;3)(1;2;3)(1;2;3)
ändere ich den Code jedoch folgendermaßen ab (Z. 10 - 12):
Java:
public void array_zuweisen() {
int rows = 5, cols = 5;
String[][][] my_array = new String[rows][cols][3];
String[] n_clear = {"-", "-", "-"};
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
my_array[i][j][0] = "-";
my_array[i][j][1] = "-";
my_array[i][j][2] = "-";
}
}
System.out.println("Davor: ");
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
System.out.print("(" + my_array[i][j][0] + ";" + my_array[i][j][1] + ";" + my_array[i][j][2] + ")");
}
System.out.println("");
}
my_array[1][1][0] = "1";
my_array[1][1][1] = "2";
my_array[1][1][2] = "3";
System.out.println("");
System.out.println("Danach: ");
for(int i = 0; i < rows; i++) {
for(int j = 0; j < cols; j++) {
System.out.print("(" + my_array[i][j][0] + ";" + my_array[i][j][1] + ";" + my_array[i][j][2] + ")");
}
System.out.println("");
}
}
erhalte ich die von mir gewollte Ausgabe:
Code:
Davor:
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
Danach:
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(1;2;3)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
(-;-;-)(-;-;-)(-;-;-)(-;-;-)(-;-;-)
Gibt es trotzdem eine Möglichkeit, die Zuweisung auf die 1. Art zu vollziehen oder muss ich dafür die 2. Variante nehmen?
Schonmal im voraus Vielen Dank für die Antworten,
lgorse
Zuletzt bearbeitet: