Некорректная генерация случайных чисел при помощи Random на Java
Доброго времени суток каждому, кто прочтёт данное сообщение! Я относительно недавно(по вселенским меркам) очередной раз начал изучать Java по средствам задач. И в одной из них мне необходимо сгенерировать 20 случайных чисел в указанном диапазоне. Диапазон вводит пользователь. До этого я без проблем пользовался такой формулой:
int max = 10;
int min = -510;
int sum = max - min;
int result = random.nextInt(sum) - min;
Тем самым всегда получая псевдо случайное число в заданном мною диапазоне. Но потом в моей жизни произошло это:
package org.example.newstart.task.loops;
import java.util.Random;
import java.util.Scanner;
public class For_2 {
static Scanner enter = new Scanner(System.in);
public static void main(String[] args) {
Random random = new Random();
System.out.println("При помощи введённых вами 2-х чисел обозначьте диапазон для генерации 20 случайных чисел");
int oneNumber = 10;
int twoNumber = -510;
int sum = oneNumber - twoNumber;
for (int i = 1; i < 21; i++) {
int result = random.nextInt(sum);
int i1 = result - twoNumber;
System.out.println(i1 + " - Сгенерированное число № - " + i);
}
}
}
И данный класс стал генерировать числа выходящие далеко за желаемый мною диапазон.
И я никак не могу понять что в моём идеальном шаблоне пошло не так.