在给定值Java之间生成随机数

时间:2014-06-11 07:35:14

标签: java

是否可以仅通过给定值生成随机数。例如,如果我有数字:4,100,2,20-> 2

4,100,2,20-→20 感谢名单

1 个答案:

答案 0 :(得分:1)

将您的值放在数组或List中并随机化索引值...例如

public int randomValue(int... values) {
    int index = (int)Math.round(Math.random() * values.length);
    return values[index];
}

您还可以使用List并使用Collections.shuffle

例如......

public class Test {

    public static void main(String[] args) {
        int[] values = {4,100,2,20};
        System.out.println(randomValue(values));

        List<Integer> listOfValues = new ArrayList<Integer>(values.length);
        for (int value : values) {
            listOfValues.add(value);
        }
        Collections.shuffle(listOfValues);
        System.out.println(listOfValues.get(0));
    }

    public static  int randomValue(int... values) {
        int index = (int)Math.round(Math.random() * values.length);
        return values[index];
    }

}