2017-03-25 1 views
1

Dies ist der Code, den ichJava Array Matrix Nummer

class Printsqu { 
    public static void main(String[] args) { 
     int[][] array = { { 1,5,9,13 }, { 2,6,10,14 }, { 3,7,11,15 }, 
       { 4,8,12,16 }, }; 

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

der Ausgang

gemacht
1 5 9 13 
    2 6 10 14 
    3 7 11 15 
    4 8 12 16 

dies aber es druckt

1593 
261014 
371115 
481216 

So habe ich \ t sollte zwischen sie aber es springt zu viel.

Gibt es eine Möglichkeit, das zu beheben?

Komische ist, dass der Raum zwischen den Zahlen unterschiedlich sind

würde ich dankbar, wenn Sie Jungs hinzufügen Details über Code und Erläuterungen Dank.

+1

erste Zeile 3 enthält anstelle der Anordnung von 13 '{1, 5, 9, 13}' –

+0

Verwendung dieses System.out.print (array [i] [j] + "\ t"); – Omore

+0

\ t springt zu viel in den Code, es ist nutzlos –

Antwort

2

versuchen diese

public static void main(String[] args) { 
    int[][] array = { { 1,5,9,13 }, { 2,6,10,14 }, { 3,7,11,15 }, 
      { 4,8,12,16 }, }; 

    for (int i = 0; i < array.length; i++) { 
     for (int j = 0; j < array[i].length; j++) { 

      System.out.printf("%2d ", array[i][j]); 
     } 
     System.out.println(); 
    } 
} 
1

den Wert WIDTH mit ersetzen, was auch immer Anzahl der Zeichen, die Sie für eine Nummer geben möchten.

class Printsqu { 
    public static final int WIDTH = 3; 
    public static void main(String[] args){ 
    int[][] array = { { 1,5,9,13 }, { 2,6,10,14 }, { 3,7,11,15 }, 
       { 4,8,12,16 }, }; 

     for (int i = 0; i < array.length; i++) { 
      for (int j = 0; j < array[i].length; j++) { 
       System.out.printf("%"+WIDTH+"d", array[i][j]); 
      } 
      System.out.println(); 
     } 
    } 
}