Большое спасибо за этот пост. Это то, что мне нужно. Пришлось что-то изменить, чтобы получить часть, с которой я работал.
Я получил следующее (включенное выше):
long number = x+((long)r.nextDouble()*(y-x));
для работы, изменив его на:
long number = x+ (long)(r.nextDouble()*(y-x));
, так как (long)r.nextDouble()
всегда равен нулю.