正方形对角线阵列

问题描述

这是我的问题。

编写一个Java程序,该程序通过一个正方形创建一个对角线。例如,一个3X3正方形应如下所示:

100

010

001

到目前为止,我的输出

000

000

000

因此,我有将数组循环下来的基础知识。不幸的是,我一直试图绕开从0,0到1,1到2,2的整数。

到目前为止,我的代码如下:

static void printDiagonalInSquare(int input){

    final int d; //length of rows and columns
        d = input;
    
    
      int[][] array=new int[d][d]; //length and heigth of array
      
        for(int rowIndex = 0; rowIndex < d; rowIndex++) { 
           if (array[rowIndex] != null){
            for(int colIndex = 0; colIndex < d; colIndex++){
                System.out.print(array[rowIndex][colIndex]);
                
            }
               System.out.println("");
        }
    }
}

所以理想情况下,我可以输入任何整数,它将创建一个2d矩阵,其中1沿对角线的正方形向下移动。

解决方法

您只需要比较rowIndex和colIndex并在它们匹配时更改array [rowIndex] [colIndex]的值

当rowIndex等于colIndex时,如果为true则为1,如果为false 0则

System.out.print(rowIndex == colIndex?1:0);

Google“ Java三元运算符”以查找大量资源