我在这里尝试做的是生成一个完整的矩阵列表,其中NxN仅使用Java填充1和0 。
我知道当n越来越大时,这个列表应该是大量的矩阵。
我能想到的唯一方法是在for循环中的for循环中构建for循环......等等。
我不需要这个功能就可以在大量的n上工作,6就足够了。它在我的方法中是巨大的,需要36个循环来实现我的目标。
任何人都可以为我的问题找到一个聪明的解决方案吗?
ps.A递归函数可能会有所帮助,但我无法弄明白。
答案 0 :(得分:0)
希望这会有所帮助。
private int[][] matrix;
public void CreateMatrix(int n)
{
this.matrix = new int[n][n](); //initialize a NxN 2D array
createMatrixRow(0); //start filling from row 0
}
//start filling your matrix row by row
public void createMatrixRow(int rowNumber)
{
if(rowNumber==n) //break the recursion when matrix is full
return;
for(int i = 0; i<n;i++)
{
//assign values in the matrix based on row & column numbers
matrix[rowNumber][i] = generateValue(rowNumber, i);
}
createMatrixRow(rowNumber++); //recurse until your matrix is full
}
//Rules for generating values to be included here. I have written sample to generate identity matrix for identity matrix
public int generateValue(int rowNumber, int columnNumber)
{
if(rowNumber == columnNumber)
return 1;
else
return 0
}