Java 如何做对角矩阵

Java 如何做对角矩阵,java,Java,我试着做对角线矩阵已经有一段时间了,但是我被卡住了。它应该是这样的,有两个用户输入(左边是负数,右边是正数。而且,它必须以零开始和结束。这就是我所能得到的。我如何使用数组生成对角矩阵 01 2 3 4 -20246 -6-30 3 6 -12-8-40 4 -20-15-10-50 public static void main(String[] args) { Scanner skener = new Scanner (System.in); int m, n

我试着做对角线矩阵已经有一段时间了,但是我被卡住了。它应该是这样的,有两个用户输入(左边是负数,右边是正数。而且,它必须以零开始和结束。这就是我所能得到的。我如何使用数组生成对角矩阵

01 2 3 4

-20246

-6-30 3 6

-12-8-40 4

-20-15-10-50

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();
        }

    }


}
publicstaticvoidmain(字符串[]args){
Scanner skener=新扫描仪(System.in);
int m,n;
做
{
系统输出打印(“m:”);
m=skener.nextInt();
系统输出打印(“n:”);
n=skener.nextInt();
}而(m>=10);

对于(intx=1;x,它不像您所说的那样使用数组,而是像您的代码示例那样打印矩阵

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();
    }
}

我不知道你想在这里做什么,你能更清楚地解释一下吗?还有,你写的代码到底有什么问题?谢谢你的帮助。正是我需要的:)