В классе Math есть полезный метод, который позволяет генерировать псевдослучайные значения, т.е. при каждом вызове этого метода будет возвращать новое значение, предсказать которое очень сложно.
Math.random() возвращает дробное число от 0 до 1.
Если требуется получить число из другого диапазона, то полученное значение нужно умножать на что-то, сдвигать и, при необходимости, приводить к целым числам.
Примеры:
System.out.println(Math.random())
здесь результат представляет собой дробное число от 0 до 1;
System.out.println((int)(Math.random() * 5))
здесь возможно любое число из чисел 0, 1, 2, 3, 4;
System.out.println((int)(Math.random() * 5 + 1))
здесь возможно любое число из чисел 1, 2, 3, 4, 5;
