按列列印二维字符串



我有一个二维字符串数组。每个单元格可以有不同的字符串大小。我想按列打印。我试过了:

public void printArr(String[][] arr) {
    for(int i=0;i<arr.length;i++) {
        for(int j=1;j<arr[i].length;j++)
        {  
            System.out.println(arr[i][j]);
        }
        System.out.println("n");
    }
}

但是它是按行打印数组。任何帮助都将不胜感激。数组结构:它有固定的行数,但每行可以有不同的列长度

据我所知:

    int i = 0;
    int j = 0;
    int max = 0;
    for (int k = 0; k < arr.length; k++)
    {
        if (max < arr[k].length)
        {
            max = arr[k].length;
        }
    }
    for (i = 0; i < max; i++)
    {
        for (j = 0; j < arr.length; j++)
        {
            if (i >= arr[j].length)
            {
                System.out.print("  ");
            }
            else
            {
                System.out.print(arr[j][i] + " ");
            }
        }
        System.out.println();
    }

希望对大家有所帮助。

    public void printArr(String[][] arr) {
    int row = arr.length;
    int column = arr[0].length;
    for(int i=0;i<column;i++) {
    for(int j=1;j<row;j++)
    {  
        System.out.println(arr[j][i]);
    }
    System.out.println("n");
   }
  }

最新更新