20

重複の可能性:
Java:範囲内の乱数を生成する

を使って乱数を生成したい

java.util.Random(arg);

唯一の問題は、メソッドが取ることができる引数は1つだけなので、数値は常に0と私の引数の間にあるということです。(たとえば)200から500の間の乱数を生成する方法はありますか?

4

4 に答える 4

46
Random rand = new Random(seed);
int random_integer = rand.nextInt(upperbound-lowerbound) + lowerbound;
于 2012-07-31T15:12:49.307 に答える
6

まず、次のようなランダムオブジェクトを作成する必要があります。

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

于 2012-07-31T15:12:56.453 に答える
3

ランダムがどのように機能するかを誤解していると思います。整数を返すのではなく、PRNGのシード値である引数を持つRandomオブジェクトを返します。

Random rnd = new Random(seed);
int myRandomValue = 200 + rnd.nextInt(300);
于 2012-07-31T15:13:59.540 に答える
1

コンストラクターに渡す引数はシードであり、バインドではありません。

200〜500の数値を取得するには、次のことを試してください。

Random random = new Random(); // or new Random(someSeed);
int value = 200 + random.nextInt(300);
于 2012-07-31T15:15:13.790 に答える