Matrix 仅使用0和1生成NxN矩阵

Matrix 仅使用0和1生成NxN矩阵,matrix,Matrix,我在这里要做的是使用Java生成一个完整的矩阵列表,其中NxN只填充了1和0 我知道当n变大时,列表中应该有大量矩阵 我能想到的唯一方法就是在for循环中构建for循环,在for循环中构建for循环……等等 我不需要这个函数在大量的n上工作,6就足够了。这在我的方法中是巨大的,需要36个循环来实现我的目标 谁能想出一个聪明的办法来解决我的问题 注:递归函数可能会有帮助,但我想不出来。希望这能有所帮助 private int[][] matrix; public void Cre

我在这里要做的是使用Java生成一个完整的矩阵列表,其中NxN只填充了1和0

我知道当n变大时,列表中应该有大量矩阵

我能想到的唯一方法就是在for循环中构建for循环,在for循环中构建for循环……等等

我不需要这个函数在大量的n上工作,6就足够了。这在我的方法中是巨大的,需要36个循环来实现我的目标

谁能想出一个聪明的办法来解决我的问题

注:递归函数可能会有帮助,但我想不出来。希望这能有所帮助

    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
    }
private int[][]矩阵;
公共空创建矩阵(int n)
{
this.matrix=new int[n][n]();//初始化NxN 2D数组
createMatrixRow(0);//从第0行开始填充
}
//开始一行一行地填写矩阵
public void createMatrixRow(int rowNumber)
{
if(rowNumber==n)//在矩阵已满时中断递归
回来

对于(int i=0;在“节点”中)?你是说它是nxn?递归:将下一个元素设置为0,递归。然后将同一个元素设置为1,递归。并处理基本大小写。就是这样。@KarolyHorvath是的,很抱歉输入错误:)您将有2^(n^2)矩阵,n=6,等于68.719.476。736@KarolyHorvath你能帮我更详细地了解你的递归吗?