gpt4 book ai didi

java以随机时间间隔将项目添加到arraylist

转载 作者:行者123 更新时间:2023-11-30 11:52:50 25 4
gpt4 key购买 nike

尝试以随机时间间隔添加项目。

我在想我需要在 i 等于 arriveTime 时开始,一旦满足我需要创建一个新的随机到达并添加 i (否则它不会再次发生,因为 i 已经过去了。所以我添加另一个如果,一旦满足创建新的到达时间并再次添加 i。伪代码似乎有意义,代码不多,感谢任何帮助。

    ArrayList<Integer> q = new ArrayList<Integer>();
Random r = new Random();
int arrivals = 0;

for (int i = 1; i <= 720; i++) {
int arrive = r.nextInt(4)+1;
if (i == arrive) {
q.add(i);
arrivals ++;
arrive = r.nextInt(4)+1+i;
}
else if (i == arrive) {
q.add(i);
arrivals ++;
arrive = r.nextInt(4)+1+i;
}

}

对不起,到达时间应该刚到。到达时间不存在。

编辑:从评论中扩展。 'i' 代表时间,我不想在列表中添加随机整数。而是以“i”的随机间隔添加相同的对象。我将“i”的值添加到列表中,以查看算法在什么时候添加了一个项目,因为它似乎没有工作。结果各不相同,但似乎总是将单个数字添加到列表中。还更新了代码。

最佳答案

您的算法缺少暂停 - 即调用 Thread.sleep(),否则它会自旋。

我会尽量保持简单,将您的代码与问题相匹配:即在添加到队列之间等待一个随机时间,简单地说:

ArrayList<Integer> q = new ArrayList<Integer>();
Random r = new Random();

for (int i = 1; i <= 720; i++) { // loop as many times as you want
Thread.sleep(r.nextLong() % 1000); // wait a random time up to 1 second
q.add(r.nextInt()); // add a random number to the queue
}

您可以调整数字以满足您的要求。

关于java以随机时间间隔将项目添加到arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6639243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com