重複の可能性:
Java:範囲内の乱数を生成する
を使って乱数を生成したい
java.util.Random(arg);
唯一の問題は、メソッドが取ることができる引数は1つだけなので、数値は常に0と私の引数の間にあるということです。(たとえば)200から500の間の乱数を生成する方法はありますか?
重複の可能性:
Java:範囲内の乱数を生成する
を使って乱数を生成したい
java.util.Random(arg);
唯一の問題は、メソッドが取ることができる引数は1つだけなので、数値は常に0と私の引数の間にあるということです。(たとえば)200から500の間の乱数を生成する方法はありますか?
Random rand = new Random(seed);
int random_integer = rand.nextInt(upperbound-lowerbound) + lowerbound;
まず、次のようなランダムオブジェクトを作成する必要があります。
Random r = new Random();
そして、int値が必要な場合は、nextInt
int myValue = r.nextInt(max);を使用する必要があります。
さて、それを一定の間隔で行いたい場合は、単に次のようにします。
int myValue = r.nextInt(max-offset)+offset;
あなたの場合:
int myValue = r.nextInt(300)+200;
ドキュメントを確認する必要があります:
http://docs.oracle.com/javase/6/docs/api/java/util/Random.html
ランダムがどのように機能するかを誤解していると思います。整数を返すのではなく、PRNGのシード値である引数を持つRandomオブジェクトを返します。
Random rnd = new Random(seed);
int myRandomValue = 200 + rnd.nextInt(300);
コンストラクターに渡す引数はシードであり、バインドではありません。
200〜500の数値を取得するには、次のことを試してください。
Random random = new Random(); // or new Random(someSeed);
int value = 200 + random.nextInt(300);