gpt4 book ai didi

java - 在 Java 中使用给定概率填充对象的二维数组

转载 作者:行者123 更新时间:2023-12-01 12:29:27 25 4
gpt4 key购买 nike

我的任务是创建一个程序,根据某些给定的规则对细胞生长进行建模。为此,我必须创建一个 2D 数组并用 Cell 对象填充它,这些对象根据给定的概率是活的或死的。到目前为止,我已经能够创建我认为是这些对象的数组,但我不确定如何使用我分配“死亡”的概率每个对象的“或”正常”状态。这就是我到目前为止所做的(我知道的不多......):

public class CellGrid
{
// Store the cells of the game in this 2D array
private Cell[][] cells;

/**
* Contructor for a CellGrid. Populates the grid with cells that will be
* living and normal (with probability given by lifeChance) or dead. Cells
* will NOT start mutated.
*
* @param size
* the size of the grid will be size x size
* @param lifeChance
* the probability of each cell starting out alive
* @param mutationChance
* the probability that (when required) each cell will mutate
*/
public CellGrid(int size, double lifeChance, double mutationChance)
{
Cell[][] cells = new Cell[size][size];

//populates the array with new Cell objects
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
cells[i][j]= new Cell();

}
}

最佳答案

您可以使用随机值。

Random r = new Random();
double nextVal = r.nextDouble();

nextVal 则为:0 <= nextVal < 1

您现在可以设置 nextVal < lifeChance 的所有单元格。如果 lifeChance 为 0.1,则 10% 的细胞将存活。

...
Random r = new Random();
for (int j = 0; j < size; j++)
{
Cell c = new Cell();
double nextVal = r.nextDouble();
if(nextVal < lifeChance){
c.setLife(true);
} else{
c.setLife(false);
}
cells[i][j]= c;
}

您必须根据您的类规范更改 setLife()...

关于java - 在 Java 中使用给定概率填充对象的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26059244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com