Java. Урок 35. Генерация случайных чисел

Очень часто бывает нужно создать некоторые случайные данные, которые могут быть нам полезны как в работе алгоритмов, так и при их тестировании. Для этих целей в языке Java существует генератор случайных чисел Random. Данный класс имеет два конструктора: по умолчанию, который использует текущую дату для своей инициализации и конструктор, который принимает на вход некоторое число типа long. Очевидно, если вы будете использовать второй конструктор с одинаковым значением параметра, то в результате у вас будут генерироваться одинаковые случайные значения, поэтому на практике в основном применяют первый. Рассмотрим методы классы Random:

  • nextBoolean()
  • nextInt()
  • nextLong()
  • nextFloat()
  • nextDouble()

Стоит отметить, что вещественные числа генерируются только в промежутке с 0 до 1, а целочисленные по всему спектру значений. Кроме того, целые числа можно генерировать в диапазоне с 0 до max — 1: nextInt(max).
Заполним массив байт случайными значениями:

1
2
3
4
5
6
Random r = new Random();
byte[] arr = new byte[100];
r.nextBytes(arr);
for(int i = 0; i < arr.length; i++){
    System.out.println(arr[i]);
}

К сожалению, аналогов функции nextBytes нет для других типов, поэтому придется явно инициализировать каждое значение:

1
2
3
4
5
6
Random r = new Random();
int[] arr = new int[100];
for(int i = 0; i < arr.length; i++){
    arr[i] = r.nextInt();
    System.out.println(arr[i]);
}

Генерация случайных данных очень помогает для тестирования программ. Например, для того, чтобы проверить сортировку достаточно подать на вход случайную последовательность, а затем проверить, что предыдущее число меньше текущего.

Категория: Java | Добавил: ghost_mod (29.09.2016)
Просмотров: 498 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email:
Подписка:1
Код *: