Random 随机数总是一样的
为什么我想创建只包含0和1个元素的简单3x3矩阵。但是,当我创建包含3x3矩阵的矩阵对象Random 随机数总是一样的,random,numbers,repeat,Random,Numbers,Repeat,为什么我想创建只包含0和1个元素的简单3x3矩阵。但是,当我创建包含3x3矩阵的矩阵对象Racunalo的2D数组5x5时,所有25个矩阵在完全相同的位置上都有0和1个元素,但我希望所有矩阵都不同。怎么做?如果有什么好灵魂知道灵魂,我会感谢你的帮助。这是我的密码: public class Racunalo { public int[,] informacija = new int[3, 3]; public void popuniInformacijuRacunala()
Racunalo
的2D数组5x5时,所有25个矩阵在完全相同的位置上都有0和1个元素,但我希望所有矩阵都不同。怎么做?如果有什么好灵魂知道灵魂,我会感谢你的帮助。这是我的密码:
public class Racunalo
{
public int[,] informacija = new int[3, 3];
public void popuniInformacijuRacunala()
{
Random rand = new Random(Guid.NewGuid().GetHashCode());
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
informacija[i, j] = rand.Next(0,2);
}
}
}
}
public class Resetka
{
public static Racunalo[,] resetkaRacunala = new Racunalo[5, 5];
public void popuniInformacijeSvihRacunala()
{
Racunalo rac = new Racunalo();
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
rac.popuniInformacijuRacunala();
resetkaRacunala[i, j]=rac;
}
}
}
}
公共类Racunalo
{
公共int[,]informacija=新int[3,3];
公共无效popuniInformacijuRacunala()
{
Random rand=new Random(Guid.NewGuid().GetHashCode());
对于(int i=0;i<3;i++)
{
对于(int j=0;j<3;j++)
{
informacija[i,j]=rand.Next(0,2);
}
}
}
}
公共类重置卡
{
公共静态Racunalo[,]resetkaRacunala=新Racunalo[5,5];
公共信息无效Popuniinformacijesviracunala()
{
Racunalo rac=新的Racunalo();
对于(int i=0;i<5;i++)
{
对于(int j=0;j<5;j++)
{
rac.popuniInformacijuRacunala();
resetkaRacunala[i,j]=rac;
}
}
}
}
您的问题是所有随机数都是使用相同的种子创建的。
每个Racunalo都具有与对象标识符相同的guid。
尝试创建一个没有参数的新随机变量
Random rand=新的Random()
或者使用不同的值(可能使用系统时钟时间)对每个随机数进行种子设定。我尝试了所有可能的解决方案,包括您的
random rand=new random()代码>和我总是得到相同的结果。系统时钟也有同样的问题。试着将随机对象设为静态,只创建一次,这样Racunalo的所有实例都将使用相同的随机对象