我一直试图做对角线矩阵已有一段时间了,但我卡住了。看起来应该是这样的,有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();
}
}
}
答案 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