277

特定の範囲の乱数を生成したい。(例: 65 ~ 80 の範囲)

以下のコードに従って試してみましたが、あまり使い物になりません。また、max より大きい値も返します。値 (80 より大きい)。

Random r = new Random();
int i1 = (r.nextInt(80) + 65);

範囲間の乱数を生成するにはどうすればよいですか?

4

2 に答える 2

515
Random r = new Random();
int i1 = r.nextInt(80 - 65) + 65;

これにより、65 (これを含む) から 80 (これを含まない) までのランダムな整数が得られ65,66,...,78,79ます。

于 2011-05-17T10:29:40.280 に答える
308
int min = 65;
int max = 80;

Random r = new Random();
int i1 = r.nextInt(max - min + 1) + min;

0 を含めて max を除く値をnextInt(int max)返すことに注意してください。intしたがって、+1.

于 2011-05-17T10:29:35.083 に答える