2016-05-16 7 views
0

私は1をランダムに確率p(0.1から1.0)で満たす必要がある4×4の2D配列を持っています。何かナンセンス値のpが入力された場合、例外をスローする必要もあります。 0または-1、どうすればいいですか?ありがとう!確率で2D配列を塗りつぶす?

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

「<0; 1>」の範囲にランダムな値「r」が必要です。そうすれば 'r <= p'であるかどうかだけ確認できます。 'p = 0.1'の場合、この条件は(平均で)10回ごとに真と評価され、' p = 1'なら条件は常に真です。 –

答えて

1

あなたは(あなたの確率の問題を解決します)ランダムを実装する方法をここで見ることができます。 Probability in Java

例外について - メソッドの先頭では、ちょうど

if (p <0 || p >1) { 
    throw new Exception() 
} 
ような何かを書きます
関連する問題