我正在研究涉及理论花的简单遗传学课程。对于颜色分配,我使用的是简化的Punnett Square,
var momDom = mommaFlower.ColorOne;
var momRec = mommaFlower.ColorTwo;
var dadDom = papaFlower.ColorOne;
var dadRec = papaFlower.ColorTwo;
var punnet = [
[0,0],
[0,0],
];
punnet[0][0] = [momDom, dadDom];
punnet[0][1] = [momDom, dadRec];
punnet[1][0] = [momRec, dadDom];
punnet[1][1] = [momRec, dadRec];
return punnet[Math.floor(Math.random() * 2)][Math.floor(Math.random() * 2)];
所以孩子的四种颜色组合中任何一种都有相对平等的机会。
我的麻烦在于将其转换为Java,即解构赋值。到目前为止我所拥有的是
//getDomColor() = {255, 187, 187, 1.0}
float[][][][] punnet = {
{
{m.getDomColor(), f.getDomColor()},
{m.getDomColor(), f.getRecColor()}
},{
{m.getRecColor(), f.getDomColor()},
{m.getRecColor(), f.getRecColor()}
}
};
getDomColor返回,getRecColor是rgb值的float数组。我原本希望它会像JS一样简单,但我发现Java没有解构分配。我的问题是,考虑到目前为止,我将JS Punnett Square翻译成Java的最佳方法是什么。