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() 

Solutions Collecting From Web of "Java中使用Android时的随机数"

文档是你的朋友

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

文档

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

Math.random()从[0,1 [ Math.random()返回一个doubleRandom.nextInt(int)从[0,int [返回int]。

你可以试试:

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

要么

 Random rand = new Random(); int n = rand.nextInt(20) + 1; 

您可以使用Math.random()生成一个介于0和1之间的double(非包含)。 Android Javadoc 在这里 。

 Random r = new Random(); int number = r.nextInt(100) + 1;