Java 如何从左下角开始以螺旋形打印字母表?

Java 如何从左下角开始以螺旋形打印字母表?,java,algorithm,matrix,spiral,Java,Algorithm,Matrix,Spiral,如果我想在矩阵中打印类似的内容: G F E H I D A B C 我该怎么做 我目前拥有的代码如下所示: A B C H I D G F E 我希望螺旋从矩阵的左下角开始,然后向左旋转 以下是我当前使用数字执行此操作的代码: int n = sc.nextInt(); int[][] spiral = new int[n][n]; int value = 1; int minCol = 0; int maxCol =

如果我想在矩阵中打印类似的内容:

G F E
H I D
A B C
我该怎么做

我目前拥有的代码如下所示:

A B C
H I D
G F E
我希望螺旋从矩阵的左下角开始,然后向左旋转

以下是我当前使用数字执行此操作的代码:

 int n = sc.nextInt();
        int[][] spiral = new int[n][n];
        int value = 1;
        int minCol = 0;  
        int maxCol = n-1;      
        int minRow = 0;  
        int maxRow = n-1;
        while (value <= n*n)
        {
            for (int i = minCol; i <= maxCol; i++)
            {
                spiral[minRow][i] = value;
                value++;
            }
             
            for (int i = minRow+1; i <= maxRow; i++) 
            { 
                spiral[i][maxCol] = value; 
                value++; 
            } 
            for (int i = maxCol-1; i >= minCol; i--)
            {
                spiral[maxRow][i] = value;        
                value++;
            }
             
            for (int i = maxRow-1; i >= minRow+1; i--) 
            {
                spiral[i][minCol] = value;
                value++;
            }
            minCol++;      
            minRow++;
            maxCol--;
            maxRow--;
        }
        for (int i = 0; i < spiral.length; i++)
        {
            for (int j = 0; j < spiral.length; j++)
            {
                System.out.print(spiral[i][j]+ "\t");
            }
             
            System.out.println();
        }
int n=sc.nextInt();
int[][]螺旋=新int[n][n];
int值=1;
int minCol=0;
int maxCol=n-1;
int minRow=0;
int maxRow=n-1;
而(值0.05)发生变化

for(int i=0;i

for(int i=spiral.length-1;i>=0;i--)
{
对于(int j=0;j
注意第一个for循环。它按相反顺序打印行

       for (int i = 0; i < spiral.length; i++)
        {
            for (int j = 0; j < spiral.length; j++)
            {
                System.out.print(spiral[i][j]+ "\t");
            }
             
            System.out.println();
        }
       for (int i = spiral.length - 1; i >= 0; i--)
        {
            for (int j = 0; j < spiral.length; j++)
            {
                System.out.print(spiral[i][j]+ "\t");
            }
             
            System.out.println();
        }