Случайные числа в Java при работе с Android - PullRequest
13 голосов
/ 19 июля 2011

Мне нужно сделать случайное число от 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()

Ответы [ 4 ]

42 голосов
/ 19 июля 2011

Документы твои друзья

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

Документация

Возвращает псевдослучайное, равномерно распределенное значение типа int между 0 (включительно) и указанным значением (исключая), полученное из последовательности этого генератора случайных чисел. Таким образом, из этого примера у нас будет число от 0 до 19

7 голосов
/ 19 июля 2011

Math.random() возвращает double из [0,1 [.Random.nextInt(int) возвращает int из [0, int [.

6 голосов
/ 19 июля 2011

Вы можете попробовать:

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

или

Random rand = new Random();
int n = rand.nextInt(20) + 1;
0 голосов
/ 19 июля 2011

Вы можете использовать Math.random (), чтобы сгенерировать двойное число от 0 до 1, не включая. Android Javadoc здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...