2011-12-22 3 views
4

Я пытаюсь создать случайное число, которое заполняет определенный процент времени. Например, я хочу создать массив, который устанавливается между определенным диапазоном (скажем, 0-100), но в 10% случаев я хочу, чтобы случайное число, выбранное для умножения на n. Как я мог бы генерировать это «случайное» число n% времени?Как сгенерировать случайное число определенный процент времени

редактировать Я не пробовал еще в Java, я только пытался выписать алгоритм вручную, но я просто получать в тупик. То, что у меня будет, это переменная, которая содержит число, скажем, что число равно 3000, а случайное число из массива будет вычитаться из числа 3000 до тех пор, пока оно не достигнет 0, но определенный процент времени Я хочу, чтобы число, выведенное из массива, умножалось на некоторый процент времени.

ответ

2

Вы можете сделать что-то 10% времени, выбрав случайное число от 0 до 100 и инициируя событие, если число меньше 10. Итак, выберите свое случайное число. Затем выберите другое случайное число от 0 до 100, и если это второе число меньше 10, вы умножаете первое на n.

+0

Удивительный, спасибо! –

+0

Хотя для получения 10% времени вы можете лучше выбрать случайное число от 0 до 10 и посмотреть, равно ли оно 0 – qkrijger

1
public static boolean getRandPercent(int percent) { 
    Random rand = new Random(); 
    return rand.nextInt(100) <= percent; 
} 
Смежные вопросы