Aritalab:Lecture/Programming/Java/Random
From Metabolomics.JP
乱数の作成
Java プログラムで乱数を発生させるには Random クラスを使います。
import java.util.Random; public class RandomWalk { int max = 100; int[] result = new int[max]; Random rand = new Random(); void binomial(double p) { // 二項分布を作る関数 for (int k = 0; k < max * 10; k++) { // 施行を max * 10 回繰り返す int n = 0; // 確率 p で +1, (1-p)で -1 を max/2 ステップ for (int i = 0; i < max / 2; in; else --n; result[n + max / 2 - 1]) sb.append(c); return sb.toString(); } void print() { // プリントアウト int line = 20; // 全体を20行で表示 for (int i = 0; i < line; i++) { int sum = 0; for (int j = (i * max) / line; j < ((i + 1) * max) / line; j++) sum += result[j]; if (sum / 10 == 0) continue; String s = makeString('*', sum / 10); System.out.println(i + ":" + s); } } static public void main(String[] args) { RandomWalk rw = new RandomWalk(); rw.binomial(0.5); rw.print(); } }
Random クラスは以下のメソッドを備えています。
- nextInt() ランダムな整数を生成
- nextInt(int n) 0 から n までのランダムな整数を生成
- nextDouble(), nextFloat() 0 から 1 の間でランダムな実数を生成
最初に
Random R = new Random();
としてRandom クラスの実体を一つ作成し、R に対して上記のメソッドを繰り返し適用して乱数を発生させています。