2016-05-16 54 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() 
}