问题描述
这是我的问题。
编写一个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三元运算符”以查找大量资源