web-dev-qa-db-ja.com

Javaを使用する場合の乱数Android

1から20までの乱数を作成する必要があり、その数に基づいて( "If-Then"ステートメントを使用)、ImageViewのイメージを設定する必要があります。

Objective-Cでは、次のようになります。

int aNumber = arc4Random() % 20;
if (aNumber == 1) {
    [theImageView setImage:theImage];
}

Javaでこれを行うにはどうすればよいですか?この方法で確認しましたが、数値の範囲(1〜20、2〜7など)を設定する方法がわかりません。

int aNumber = (int) Math.random()
14
Justin

ドキュメントは友達です

Random Rand = new Random();
int n = Rand.nextInt(20); // Gives n such that 0 <= n < 20

ドキュメント

この乱数ジェネレータのシーケンスから取得した、0(両端を含む)から指定した値(両端を含まない)までの間で均一に分散された疑似乱数を返します。したがって、この例では、0から19までの数になります。

42
trutheality

Math.random()は、[0,1 [からdoubleを返します。 Random.nextInt(int)は、[0、int [からintを返します。

7
Jeffrey

あなたが試すことができます:

int aNumber = (int) (20 * Math.random()) + 1;

または

Random Rand = new Random();
int n = Rand.nextInt(20) + 1;
6
user802421

Math.random()を使用して、0と1の間の非包含のdoubleを生成できます。 Android Javadoc ここ

0
AlbeyAmakiir