【问题标题】:Fill 2D Array With Some Probability?以某种概率填充二维数组?
【发布时间】:2016-05-16 20:30:27
【问题描述】:

我有一个 4x4 二维数组,我需要用概率 p(从 0.1 到 1.0)随机填充 1,否则为 0。如果输入了一些无意义的 p 值,我还需要抛出异常,例如0 或 -1,我该怎么做?谢谢!

public GameState(double p) throws Exception 
{
    int[][] grid = new int[4][4];
    Random r = new Random().nextDouble();
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            if (r <= p)
            {
                //grid[i][j] = ;
            }
            else
            {
                //grid[i][j] = ;
            }
        }
    }
}

【问题讨论】:

  • 您需要在&lt;0; 1&gt; 范围内的随机值r。然后你可以像你一样检查r &lt;= p。如果 p = 0.1 则此条件每 10 次(平均)评估一次为真,如果 p = 1 则条件始终为真。

标签: java arrays


【解决方案1】:

您可以在此处查看如何实现 Random(这将解决您的概率问题): Probability in Java

关于异常 - 在方法的开头,写类似

if (p <0 || p >1) {
    throw new Exception()
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多