В классе 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;