Как генерировать случайные целые числа в определенном диапазоне в Java
В Java 1.7 или более поздней версии стандартный способ сделать это выглядит следующим образом:
1 |
import Java.util.concurrent.ThreadLocalRandom; |
1 |
int randomNum = ThreadLocalRandom.current().nextInt(min, max + 1); |
min: минимальное значение
max: максимальное значение
Пример
1 2 3 4 5 6 |
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 стандартный способ сделать это выглядит следующим образом:
1 2 3 |
import Java.util.Random; Random rand; int randomNum = rand.nextInt((max - min) + 1) + min; |
Пример
1 2 3 4 5 6 7 |
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, максимальное