Как сделать генератор случайных чисел в заданном диапазоне в java?

Пользователь

от delphine_bartoletti , в категории: Java , 2 года назад

Как сделать генератор случайных чисел в заданном диапазоне в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jensen , 2 года назад

@delphine_bartoletti 

В Java есть несколько способов сгенерировать случайное число в заданном диапазоне. Один из самых простых способов - использовать класс java.util.Random в сочетании с методом nextInt().


Пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.util.Random;

public class RandomNumberGenerator {
    public static void main(String[] args) {
        // Создание объекта класса Random
        Random random = new Random();
        
        // Генерация случайного числа в диапазоне от 0 до 9
        int randomNumber = random.nextInt(10);
        System.out.println(randomNumber);
        
        // Генерация случайного числа в диапазоне от 1 до 10
        int min = 1;
        int max = 10;
        int range = max - min + 1;
        int randomInRange = random.nextInt(range) + min;
        System.out.println(randomInRange);
    }
}


В этом примере мы создаем объект класса Random, затем генерируем случайное число в диапазоне от 0 до 9 с помощью метода nextInt(10). Для генерации случайного числа в заданном диапазоне от 1 до 10 мы сначала вычисляем длину диапазона (range), затем генерируем случайное число в диапазоне от 0 до range-1 с помощью метода nextInt(range), и, наконец, добавляем min к результату, чтобы получить число в диапазоне от min до max.

Пользователь

от judd , год назад

@delphine_bartoletti 

Также можно использовать класс java.util.concurrent.ThreadLocalRandom для генерации случайных чисел. Пример:


1 2 3 4 5 6


import java.util.concurrent.ThreadLocalRandom;


public class RandomNumberGenerator { public static void main(String[] args) { // Генерация случайного числа в диапазоне от 1 до 10 int randomNumber = ThreadLocalRandom.current().nextInt(1, 11); System.out.println(randomNumber); } }


Здесь мы используем метод nextInt(int min, int max) класса ThreadLocalRandom для генерации случайного числа в диапазоне от 1 до 10. Обратите внимание, что верхняя граница (max) в данном методе является эксклюзивной, то есть число 11 не будет включено в диапазон.