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

В Java 1.7 или более поздней версии стандартный способ сделать это выглядит следующим образом:

 
import Java.util.concurrent.ThreadLocalRandom;
 
int randomNum = ThreadLocalRandom.current().nextInt(min, max + 1);

min: минимальное значение

max: максимальное значение

Пример

 
import Java.util.concurrent.ThreadLocalRandom;
  public class TestClass {
  public static void main(String[] args) {
    System.out.println(ThreadLocalRandom.current().nextLong(50, 100));
  }
}

Выше код возвращает длинное значение между 50 (включительно) и 101 (эксклюзивным)

До Java 1.7 стандартный способ сделать это выглядит следующим образом:

 
import Java.util.Random;
Random rand;
int randomNum = rand.nextInt((max - min) + 1) + min;

Пример

 
import Java.util.Random;
public class TestClass {
  public static void main(String[] args) {
    Random rand = new Random();
    System.out.println(rand.nextInt(100) + 1);
  }
}

Выше кода возвращает значение от 1 до 100, максимальное

Источник: http://net-informations.com/Java/cJava/random.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector