Случайные числа в Java при работе с Android
Мне нужно сделать случайное число от 1 до 20 и на основе этого числа (используя инструкции "If-Then" ), мне нужно установить образ ImageView.
Я знаю, что в Objective-C он выглядит примерно так:
int aNumber = arc4Random() % 20;
if (aNumber == 1) {
[theImageView setImage:theImage];
}
Как я могу сделать это на Java? Я видел, как это делается, но я не вижу, как я могу установить диапазон чисел (1-20, 2-7, ect).
int aNumber = (int) Math.random()
Ответы
Ответ 1
Документы - ваши друзья
Random rand = new Random();
int n = rand.nextInt(20); // Gives n such that 0 <= n < 20
Documentation
Возвращает псевдослучайное равномерно распределенное значение int между 0 (включительно) и заданным значением (исключительным), взятым из этой последовательности генераторов случайных чисел. Таким образом, из этого примера у нас будет число от 0 до 19
Ответ 2
Math.random()
возвращает double
из [0,1 [.
Random.nextInt(int)
возвращает int
из [0, int [.
Ответ 3
Вы можете попробовать:
int aNumber = (int) (20 * Math.random()) + 1;
или
Random rand = new Random();
int n = rand.nextInt(20) + 1;
Ответ 4
Вы можете использовать Math.random(), чтобы сгенерировать double между 0 и 1 не включительно. Android Javadoc здесь.
Ответ 5
Random r = new Random();
int number = r.nextInt(20);