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

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

от felix , в категории: Java , 3 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от NicolasSsh , 3 года назад

@felix  Вы можете использовать операторы работы с числами для изменения диапазона чисел.

Изначальный диапазон - [0, 1]. Умножение его на 40 приведет его в форму [0, 40] (0 * 40 = 0; 1 * 40 = 40)


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class Main {
    public static void main(String[] args) throws Exception {
        int x = (int) (Math.random() * 100);

        System.out.println(x); // Вывод : Случайное число от 0 до 100 (не включительно)

        int y = (int) (20 + Math.random() * 40); // [0, 1] -> [0, 40] -> [20, 60]

        System.out.println(y); // Вывод : Случайное число от 20 до 60 (не включительно)
    }
}

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

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

@felix 

Для получения случайного числа в определенном диапазоне в Java можно использовать класс Random и метод nextInt(int bound). Вот пример кода:

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

public class RandomNumber {
   public static void main(String[] args) {
      int min = 10; // Минимальное значение
      int max = 50; // Максимальное значение

      // Создаем объект класса Random
      Random random = new Random();

      // Генерируем случайное число в указанном диапазоне
      int randomNumber = random.nextInt(max - min + 1) + min;

      System.out.println("Случайное число: " + randomNumber);
   }
}


В данном примере, мы указали диапазон от 10 до 50 (включительно). Метод nextInt(int bound) генерирует случайное число в диапазоне от 0 (включительно) до bound (исключительно). Поэтому мы добавляем минимальное значение min к результату, чтобы получить число в нужном диапазоне.