Я хочу получить случайное число от 1000 до 8192000. Случайное число должно быть таким, как от 1000, от 2000, 3000 до 8192000.

Ниже приведен код, который я пробовал, но безуспешно.

ran.nextInt(8192000 - 1000)%1000; 

Что нужно изменить, чтобы получить число в виде 1000, 2000, 3000 ...

1
Asad Rehman 22 Фев 2016 в 00:58

2 ответа

Лучший ответ

Самый простой подход - сгенерировать случайное число от 1 до 8192 и просто умножить его на 1000:

Random randomGenerator = new Random();
long randomNumber = (1 + randomGenerator.nextInt(8192)) * 1000L;
4
Mureinik 21 Фев 2016 в 22:04

Если вы хотите 8192000 включительно, попробуйте:

Random random = new Random();
for (int i = 0; i < 10; i++) {
  System.out.println((random.nextInt(8192) + 1) * 1000);
}

Здесь вы получаете значения: 1000, 2000, ..., 8192000

2
Wojciech Kumoń 21 Фев 2016 в 22:07