Как я могу создать приложение, которое генерирует случайное число в Android с помощью Eclipse, а затем отображает результат в поле TextView
? Случайное число должно находиться в диапазоне, выбранном пользователем. Итак, пользователь вводит максимальное и минимальное значения диапазона, а затем я вывожу ответ.
Как я могу сгенерировать случайное число в определенном диапазоне?
Ответы (8)
Чтобы расширить то, что сказал Рахул Гупта:
Вы можете использовать функцию 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;
Random.nextInt(n)
.
- person Hammad Nasir; 09.10.2017
Random r = new Random();
int i1 = r.nextInt(45 - 28) + 28;
Это дает случайное целое число от 28 (включительно) до 45 (не включая), одно из 28, 29,..., 43, 44.
Также с уровня API 21 это возможно:
int random = ThreadLocalRandom.current().nextInt(min, max);
"пользователь - это тот, кто выбирает максимальное количество и минимальное количество?" Что вы подразумеваете под этой строкой?
Вы можете использовать функцию Java int random = Random.nextInt(n)
. Это возвращает случайное целое число в диапазоне [0, n-1]).
и вы можете установить его в своем текстовом представлении, используя метод setText()
Генератор случайных чисел в Android Если вы хотите узнать о генераторе случайных чисел в Android, прочтите эту статью до конца. Здесь вы можете получить всю информацию о генераторе случайных чисел в Android. Генератор случайных чисел в Android
Вы должны использовать этот код в своем java-файле.
Random r = new Random();
int randomNumber = r.nextInt(100);
tv.setText(String.valueOf(randomNumber));
Я надеюсь, что этот ответ может быть полезен для вас. Если вы хотите узнать больше об этой статье, вам следует прочитать эту статью. Генератор случайных чисел
Итак, вам нужно следующее:
int random;
int max;
int min;
... где-то в вашем коде поместите метод для получения минимума и максимума от пользователя, когда он нажимает кнопку "Отправить", а затем используйте их в следующей строке кода:
random = Random.nextInt(max-min+1)+min;
Это установит случайное число между выбранным пользователем минимумом и максимумом. Затем вы будете делать:
TextView.setText(random.toString());
Вы можете использовать Если Random
. Например, это генерирует случайное число от 75 до 100.
final int random = new Random().nextInt(26) + 75;
Код ниже поможет вам генерировать случайные числа между двумя числами в заданном диапазоне:
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);
}