使用Android时Java中的随机数

Jus*_*tin 14 java android integer

我需要在1到20之间创建一个随机数,并根据该数字(使用"If - Then"语句),我需要设置ImageView的图像.

我知道在Objective-C中,它是这样的:

int aNumber = arc4Random() % 20;
if (aNumber == 1) {
    [theImageView setImage:theImage];
}
Run Code Online (Sandbox Code Playgroud)

我怎么能用Java做到这一点?我已经看到了这样做的方式,但我不知道怎样才能设置数的范围(1-20,2-7,ECT).

int aNumber = (int) Math.random()
Run Code Online (Sandbox Code Playgroud)

tru*_*ity 43

文档是你的朋友

Random rand = new Random();
int n = rand.nextInt(20); // Gives n such that 0 <= n < 20
Run Code Online (Sandbox Code Playgroud)

文件:

返回从此随机数生成器的序列中提取的伪随机,均匀分布的int值,介于0(包括)和指定值(不包括)之间.因此,从这个例子中,我们将有一个0到19之间的数字

  • 可能更短:`int n = new Random().nextInt(20);` (4认同)

Jef*_*rey 7

Math.random()double从[0,1 [.] 返回 从[0,int [ Random.nextInt(int)返回int].


use*_*421 6

你可以试试:

int aNumber = (int) (20 * Math.random()) + 1;
Run Code Online (Sandbox Code Playgroud)

要么

Random rand = new Random();
int n = rand.nextInt(20) + 1;
Run Code Online (Sandbox Code Playgroud)