有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中从列表中随机选择一个整数?

以下是我到目前为止的情况:

private int [] delays = {1000, 1333, 3443, 1220, 3232};

我想要一个功能,在继续之前,它将休眠片刻:

sleep(random(delays))

我已经找到了字符串的解决方案,但是当涉及到整数时,我并不真正理解它

我已经导入了随机数据。我得到:

    Random rand = new Random();
int delayIndex = rand.nextInt(delays.length);

但是它说:Random类型中的方法nextInt(int,int)不适用于参数(int)

谢谢neg对我的批评

我感谢您的帮助,但我遇到的问题仍在发生:

Random类型中的方法nextInt(int,int)不适用于参数(int)


共 (6) 个答案

  1. # 1 楼答案

    0...N生成一个随机值,其中N是保存持续时间的数组的大小。一旦你有了这个随机值,这是数组的索引,只需在索引位置从数组中检索的持续时间内睡眠

    Random random = new Random();
    int randomInt = random.nextInt(delays.length);
    sleep(delays[randomInt]);
    
  2. # 2 楼答案

    使用Java的内置^{}类在0和数组的最后一个索引之间选择一个随机整数

    import java.util.*;
    
    Random rnd = new Random();
    int delayIndex = rnd.nextInt(delays.length);
    

    然后访问数组并将该数组元素馈送到Thread.sleep

  3. # 3 楼答案

    Random rnd = new Random();
    int index = rnd.nextInt(delays.length);
    
  4. # 5 楼答案

    Random r = new Random ();
    
    Thread.sleep (delays [r.nextInt (delays.length)]);
    
  5. # 6 楼答案

    public int random(int[] delays){
        Random rn = new Random();
        int range = delays.length - 1;
        int pos = rn.nextInt() % range;
    
        return delays[pos];
    }