Der beste Weg, um ein Java-2D-Array zu drucken? [closed]

Lesezeit: 2 Minuten

Benutzer-Avatar
Chip Goon Lewin

Ich habe mich gefragt, was der beste Weg ist, ein 2D-Array in Java zu drucken.

Ich habe mich nur gefragt, ob dieser Code eine gute Praxis ist oder nicht?
Auch alle anderen Fehler, die ich in diesem Code gemacht habe, falls Sie welche finden.

int rows = 5;
int columns = 3;

int[][] array = new int[rows][columns];

for (int i = 0; i<rows; i++)
    for (int j = 0; j<columns; j++)
        array[i][j] = 0;

for (int i = 0; i<rows; i++) {
    for (int j = 0; j<columns; j++) {
        System.out.print(array[i][j]);
    }
    System.out.println();
}

  • Am besten – nach welcher Definition?

    – Hovercraft voller Aale

    29. Oktober 2013 um 1:47 Uhr

  • Ihre for-Schleifen wären sicherer, wenn sie die tatsächlichen Array-Längen verwenden würden.

    – Hovercraft voller Aale

    29. Oktober 2013 um 1:48 Uhr

  • Einige Beispiele im Folgenden [SO question][1]. [1]: stackoverflow.com/questions/11383070/…

    – Nikolaus Modrzyk

    29. Oktober 2013 um 1:54 Uhr

Einfache und saubere Möglichkeit, ein 2D-Array zu drucken.

System.out.println(Arrays.deepToString(array).replace("], ", "]\n").replace("[[", "[").replace("]]", "]"));

  • Das ist nicht sauber.

    – Kaiser Keister

    23. Juni 2018 um 19:31 Uhr

  • Ich denke, es ist sauber.

    – AwesomeDude3247

    10. Dezember 2021 um 4:09 Uhr

  • Weniger Angriffsfläche für Insekten.

    – matthewpliddy

    16. Dezember 2021 um 18:00 Uhr

würde ich generell bevorzugen foreach wenn ich keine arithmetischen Operationen mit ihren Indizes durchführen muss.

for (int[] x : array)
{
   for (int y : x)
   {
        System.out.print(y + " ");
   }
   System.out.println();
}

  • Guter Kompromiss mit Lesbarkeit und ohne Aufrufen der Sammlungs-API.

    – Silber

    2. September 2018 um 9:07 Uhr

  • Dies ist die beste Antwort. Der Code druckt alles fein säuberlich in einer Tabelle aus

    – TomateFraiche

    9. Juli 2019 um 8:32 Uhr


Benutzer-Avatar
Aschika

Es ist nichts falsch an dem, was du hast. Doppelt verschachtelte for-Schleifen sollten von jedem, der Ihren Code liest, leicht verdaulich sein.

Allerdings ist die folgende Formulierung dichter und idiomatischer java. Ich würde vorschlagen, in einigen der statischen Utility-Klassen herumzustöbern, wie z Arrays und Sammlungen früher als später. Durch ihren effizienten Einsatz können Tonnen von Boilerplate eingespart werden.

for (int[] row : array)
{
    Arrays.fill(row, 0);
    System.out.println(Arrays.toString(row));
}

  • Guter Kompromiss mit Lesbarkeit und ohne Aufrufen der Sammlungs-API.

    – Silber

    2. September 2018 um 9:07 Uhr

  • Dies ist die beste Antwort. Der Code druckt alles fein säuberlich in einer Tabelle aus

    – TomateFraiche

    9. Juli 2019 um 8:32 Uhr


Benutzer-Avatar
Plcode

Das finde ich am besten:

   for (int[] row : matrix){
    System.out.println(Arrays.toString(row));
   }

1006710cookie-checkDer beste Weg, um ein Java-2D-Array zu drucken? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy