Wie gebe ich in Java einen mehrdimensionalen Array Zeilen- und Spaltenweise aus?
Hi, wie gebe ich in Java z. B. einen mehrdimensionalen Array int asd [] [] aus? Aber dies Zeilen- und Spaltenweise? Also damit am Ende Jede Zeile mit den jeweiligen Spalten ausgegeben wird, passiert das automatisch?
Also z. B. hätte der Array [3] [4]
Dass ich dann halt 3 Zeilen mit jeweils 4 Werten ausgegeben erhalte, wie funktioniert sowas, klar mit zwei for schleifen, aber dass halt nicht jedes Elemnt einzeln, sondern jeweils als Zeile mit den jeweiligen ELementen ausgegeben wird.
5 Antworten
Hallo.
Würde wahrscheinlich einfach Schleifen und einen StringBuffer verwenden. (Der Code ist nur ein Beispiel, die generische Funktion funktioniert nur mit Objekttypen, also nicht mit dem primitiven Datentyp int[][].)
public class Test {
public static <T> String toStringMultArray(T[][] a, String delim) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < a.length; i++) {
T[] line = a[i];
for (int j = 0; j < line.length; j++) {
sb.append(line[j]);
if (j < line.length - 1) {
sb.append(delim);
}
}
sb.append("\n");
}
return sb.toString();
}
public static void main(String[] args) {
Integer[][] ai = new Integer[][]{
{1, 2, 3, 4},
{9, 8, 7, 6},
};
String[][] as = new String[][]{
{"Hallo", "Welt"},
{"Wie", "geht", "es", "Dir"},
};
System.out.print(toStringMultArray(ai, ", "));
System.out.print(toStringMultArray(as, " "));
}
}
Mit System.print statt System.println?
entweder du baust dir strings
oder du machst halt mit print etc und ein linefeed nach der ersten For schleife .
also so wie man das mit zettel und stifft auch machen würde .
for(int i = 0; i <array.length; i++) {
System.out.println(Arrays.toString(array[i]));
}
Dazu musst du natürlich das äußere nehmen.
Wie wärs wenn du einfach zwei Schleifen baust, für jede Zeile eine, und in der zweiten Schleife jedesmal eine neue Zeile einfügst? Das geht meistens über "\n".