如何在2D数组的左侧和底部显示数字?

时间:2014-02-20 02:10:14

标签: java arrays multidimensional-array

我需要在左侧和底部打印一个带有一些数字的2维数组。 这是我的初始化代码,它位于Grille类中:

class Grille {

String[][] grille = new String[7][8];

public Grille() { 
    for (int line = 0; line < grille.length; line++) {
        for (int column = 0; column < grille[column].length; column++) {
            grille[line][column] = " ";
        }
    }
}

我用这个打印我的数组,在同一个类Grille:

  public void print() {
    for (int line = 0; line < grille.length; line++) {
        for (int column = 0; column < grille[line].length; column++) {
            System.out.print(grille[line][column] + " ");

        }
        System.out.println("");
    }



}

我想获得这个:

6
5
4
3
2
1
  1 2 3 4 5 6 7

水平线中的数字之间有空格以区别并且知道它们不在同一列中

谢谢!!

2 个答案:

答案 0 :(得分:0)

这项任务非常简单。如果您有二维数组,请打印array[I][0],直至到达array.length

然后从J = 0开始,打印array[I][J],直至到达array[i].length。我是最后一行的索引。

将打印以下代码:

6
5
4
3
2
1
 1 2 3 4 5 6

代码是:

public static void main(String[] args) {
    int array[][] = 
    {
        {6, 0, 0, 0, 0, 0},
        {5, 0, 0, 0, 0, 0},
        {4, 0, 0, 0, 0, 0},
        {3, 0, 0, 0, 0, 0},
        {2, 0, 0, 0, 0, 0},
        {1, 2, 3, 4, 5, 6}
    };

    int array2[][] =
    {
        {6},
        {5},
        {4},
        {3},
        {2},
        {1, 2, 3, 4, 5, 6}
    };

    print(array);
    System.out.println("\n");
    print(array2);
}

public static void print(int[][] array) {
    for (int i = 0; i < array.length; ++i) {
        if (i == array.length - 1) {
            System.out.print(array[i][0] + "\n ");
            for (int j = 0; j < array[i].length; ++j) {
                System.out.print(array[i][j] + " ");
            }
        } 
        else {
            System.out.println(array[i][0]);
        }
    }
}

答案 1 :(得分:0)

       boolean b=true;
       for(int i=0;i<array.length;i++)
            {
             for(int j=0;j<=i;j++)
             {
                if(i==array.length-1)
                {
                                if(b)
                                   {
                                     System.out.print(array[i][0]+"\n");
                                     b=false;
                                    }

                System.out.print(" "+array[i][j]);
                }
             else
                {
                 System.out.print(array[i][j]);
                 break;
                }
              }
            System.out.print("\n");
       }