2016-05-16 57 views
0

我有一个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] = ; 
      } 
     } 
    } 
} 
+0

[如何抛出异常](https://docs.oracle.com/javase/tutorial/essential/exceptions/throwing.html) –

+0

您需要一个随机值'r',范围为'<0; 1>'。然后,您可以像检查一样检查是否存在“r <= p”。如果'p = 0.1',那么这个条件将每10次(平均)评估为真,如果'p = 1'则条件总是为真。 –

回答

1

,你可以在这里看到如何实现随机(这将解决您的概率的问题): Probability in Java

有关异常 - 在该方法的开始,就喜欢写东西

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