Быстрая, безветвленная, беззнаковая и абсолютная разница

Вы также можете использовать

public static int getRandom(int[] array) {
    int rnd = (int)(Math.random()*array.length);
    return array[rnd];
}

Math.random() возвращает double между 0.0 (включительно) до 1.0 (эксклюзивный)

Умножая это на array.length дает вам double между 0.0 (включительно) и array.length (эксклюзивным)

. Кастинг на int округляется, давая вам и целое число между 0 (включительно) и array.length-1 (включительно)

20
задан cdk 19 April 2019 в 00:15
поделиться