79

c# Random.Next(int min, int max); と同様の範囲内で乱数を取得するにはどうすればよいですか?

4

9 に答える 9

80
import 'dart:math';

final _random = new Random();

/**
 * Generates a positive random integer uniformly distributed on the range
 * from [min], inclusive, to [max], exclusive.
 */
int next(int min, int max) => min + _random.nextInt(max - min);
于 2012-11-10T01:16:50.683 に答える
37

Range can be found with a simple formula as follows

Random rnd;
int min = 5;
int max = 10;
rnd = new Random();
r = min + rnd.nextInt(max - min);
print("$r is in the range of $min and $max");
于 2012-11-10T01:08:34.847 に答える
28

Randomクラス objectを介して実現できますrandom.nextInt(max)。メソッドにはnextInt()上限が必要です。乱数はから始まり0、最大制限自体は排他的です。

import 'dart:math';
Random random = new Random();
int randomNumber = random.nextInt(100); // from 0 upto 99 included

最小制限を追加する場合は、結果に最小制限を追加します

int randomNumber = random.nextInt(90) + 10; // from 10 upto 99 included
于 2019-12-10T19:33:34.503 に答える
21

これは本当に遅いですが、これはまだ質問がある人のためのものです.

最小値と最大値の間の乱数を取得する最も簡単な方法は次のとおりです。

import 'dart:math';

int max = 10;

int randomNumber = Random().nextInt(max) + 1;

dart の math モジュールには nextInt という関数があります。これは、0 ( 0 を含む) から max - 1 ( max を除く) までの整数を返します。1 から 10 までの数値が必要なので、nextInt の結果に 1 を追加します。

于 2020-08-24T20:26:23.453 に答える
-1

これを行うより簡単な方法は、Random 内で nextInt メソッドを使用することです。

// Random 50 to 100:
int min = 50;
int max = 100;
int selection = min + (Random(1).nextInt(max-min));

https://api.dartlang.org/stable/2.0.0/dart-math/Random-class.html

于 2018-10-05T13:12:38.380 に答える