Как я могу сгенерировать случайное число в определенном диапазоне?
Как я могу создать приложение, которое генерирует случайное число в Android, используя Eclipse, а затем отображать результат в поле TextView
? Случайное число должно находиться в диапазоне, выбранном пользователем. Таким образом, пользователь введет максимальное и минимальное значения диапазона, а затем я выведу ответ.
Ответы
Ответ 1
Чтобы расширить то, что сказал Рахул Гупта:
Вы можете использовать функцию Java int random = Random.nextInt(n)
.
Это возвращает случайное int
в диапазоне [0, n-1]
.
Т.е. для получения диапазона [20, 80]
используйте:
final int random = new Random().nextInt(61) + 20; // [0, 60] + 20 => [20, 80]
Чтобы обобщить больше:
final int min = 20;
final int max = 80;
final int random = new Random().nextInt((max - min) + 1) + min;
Ответ 2
Random r = new Random();
int i1 = r.nextInt(45 - 28) + 28;
Это дает случайное целое число между 28 (включительно) и 45 (исключая), одно из 28,29,..., 43,44.
Ответ 3
Кроме того, с уровня API 21 это возможно:
int random = ThreadLocalRandom.current().nextInt(min, max);
Ответ 4
"пользователь выбирает max no и min no?"
Что вы подразумеваете под этой линией?
Вы можете использовать функцию java int random = Random.nextInt(n)
. Это возвращает случайный int в диапазоне [0, n-1]).
и вы можете установить его в текстовом виде с помощью метода setText()
Ответ 5
Итак, вам нужно следующее:
int random;
int max;
int min;
... где-то в вашем коде помещают метод для получения min и max от пользователя, когда они нажимают кнопку submit, а затем используют их в следующей строке кода:
random = Random.nextInt(max-min+1)+min;
Это будет случайным случайным числом между выбранным пользователем min и max.
Затем вы выполните:
TextView.setText(random.toString());
Ответ 6
private int getRandomNumber(int min,int max) {
return (new Random()).nextInt((max - min) + 1) + min;
}
Ответ 7
Вы можете использовать If Random
. Например, это генерирует случайное число от 75 до 100.
final int random = new Random().nextInt(26) + 75;
Ответ 8
Генератор случайных чисел в Android Если вы хотите узнать о генераторе случайных чисел в Android, то вам следует прочитать эту статью до конца. Здесь вы можете получить всю информацию о генераторе случайных чисел в Android. Генератор случайных чисел в Android
Вы должны использовать этот код в вашем Java файле.
Random r = new Random();
int randomNumber = r.nextInt(100);
tv.setText(String.valueOf(randomNumber));
Я надеюсь, что этот ответ может быть полезным для вас. Если вы хотите прочитать больше об этой статье, вам следует прочитать эту статью. Генератор случайных чисел
Ответ 9
Код ниже поможет вам генерировать случайные числа между двумя числами в заданном диапазоне:
private void generateRandomNumbers(int min, int max) {
// min & max will be changed as per your requirement. In my case, I've taken min = 2 & max = 32
int randomNumberCount = 10;
int dif = max - min;
if (dif < (randomNumberCount * 3)) {
dif = (randomNumberCount * 3);
}
int margin = (int) Math.ceil((float) dif / randomNumberCount);
List<Integer> randomNumberList = new ArrayList<>();
Random random = new Random();
for (int i = 0; i < randomNumberCount; i++) {
int range = (margin * i) + min; // 2, 5, 8
int randomNum = random.nextInt(margin);
if (randomNum == 0) {
randomNum = 1;
}
int number = (randomNum + range);
randomNumberList.add(number);
}
Collections.sort(randomNumberList);
Log.i("generateRandomNumbers", "RandomNumberList: " + randomNumberList);
}