【问题标题】:Square Diagonal Array方形对角线阵列
【发布时间】:2020-10-03 21:01:07
【问题描述】:

这是我的问题。

编写一个通过正方形创建对角线的 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("");
        }
    }
}

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

【问题讨论】:

  • 基本上你想要一个行索引与列索引相同的地方。
  • 是的,这正是我正在寻找的
  • 好吧,你已经有了嵌套循环,你只需要比较rowIndexcolIndex并在它们匹配时更改array[rowIndex][colIndex]的值...
  • 我对编码还很陌生,所以我不太确定该代码的外观。

标签: java arrays loops


【解决方案1】:

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

rowIndex 等于 colIndex 时如果为真 1 如果为假 0

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

谷歌“Java三元算子”找很多资源

【讨论】:

    猜你喜欢
    • 2021-12-12
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2016-07-02
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多