【问题标题】:Generate random number between given values Java [duplicate]在给定值Java之间生成随机数[重复]
【发布时间】:2023-04-01 19:10:01
【问题描述】:

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

4,100,2,20->20 谢谢

【问题讨论】:

    标签: java


    【解决方案1】:

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

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

    您也可以使用ListCollections.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];
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2011-07-13
      • 2013-12-21
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 2014-12-19
      • 2021-02-19
      • 2013-04-06
      相关资源
      最近更新 更多