如何做对角矩阵

时间:2015-09-07 18:19:55

标签: java

我一直试图做对角线矩阵已有一段时间了,但我卡住了。看起来应该是这样的,有2个用户输入(左边是负数,右边是正数。另外,它必须以0开始和结束。这就是我得到的。我如何使用数组制作对角矩阵?

0 1 2 3 4

-2 0 2 4 6

-6 -3 0 3 6

-12 -8 -4 0 4

-20 -15 -10 -5 0

public static void main(String[] args)    {

    Scanner skener = new Scanner (System.in);



      int m, n;

      do
      {
      System.out.print("m: ");
      m = skener.nextInt();

      System.out.print("n: ");
      n = skener.nextInt();


      }while(m>=10);


        for (int x=1; x<=m; x++) { //ponavljajoča zanka za m


            for (int y=1; y<=n; y++) { //ponavljajoča zanka za n





                System.out.print(x*y); //zmnožek števcev (x in y)
                System.out.print("    "); //gre v novo vrsto

                if(n==5) {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }

    }


}

1 个答案:

答案 0 :(得分:0)

这并不像你所说的那样使用数组,但是像代码示例那样打印矩阵。

public static void main(String[] args) {
    printDiagonalMatrix(5, 5);
}
public static void printDiagonalMatrix(int width, int height) {
    for (int row = 0; row < height; row++) {
        for (int col = 0; col < width; col++) {
            if (col != 0)
                System.out.print(' ');
            System.out.print((col - row) * (row + 1));
        }
        System.out.println();
    }
}

输出

0 1 2 3 4
-2 0 2 4 6
-6 -3 0 3 6
-12 -8 -4 0 4
-20 -15 -10 -5 0