java反向方法?
我正在创建一个程序来创建一个身份矩阵-这非常简单。但是现在我需要创建身份矩阵,但是向后。结果应该是这样的:
0 0 1
0 1 0
1 0 0
下面是我正在使用的创建身份矩阵的程序:
import java.util.*;
class Lab19Part2 {
public static int[][] create(int size) {
int[][] matrix = new int[size][size];
for(int i = 0; i < size; i++)
for(int j = 0; j < size; j++)
matrix[i][j] = (i == j) ? 1 : 0;
return matrix;
} public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("Enter size of matrix: ");
int size=input.nextInt();
int matrix[][]=create(size);
for (int i=0 ; i < matrix.length ; i++) {
System.out.println();
for (int j=0 ; j < matrix[i].length ; j++){
System.out.print(matrix[i][j]+" ");
}
}
}
}
虽然它打印出了身份矩阵,如下所示:
1 0 0
0 1 0
0 0 1
问题是,我如何使它像第一个单位矩阵一样打印出来?我知道这和for循环有关,但我不能精确地指出
谢谢
# 1 楼答案
下面是如何使用la4j(Java线性代数)创建它的简要示例:
# 2 楼答案
改变
到
# 3 楼答案
为什么不针对您的身份案例执行此操作:
对于另一种情况,请使用:
# 4 楼答案
您需要更改控制值是1还是0的条件:
因此,如果大小为
3
,则位置[0][2]、[1][1]和[2][0]得到1