gpt4 book ai didi

java 。数组每个值的简单 TimerTask

转载 作者:行者123 更新时间:2023-12-01 16:39:21 25 4
gpt4 key购买 nike

我在打印特定数组的每个值(在一定时间内)时遇到问题。例如,我有一个包含值的数组:“Value1”、“Value2”、“Value3”。我想输出“Value1”,5秒后“Value2”,5秒后“Value3”。相反,数组的所有值都会打印输出 3 次。如果你能帮助我,我将非常感激))谢谢。

这是我的代码。

import java.util.Date;

public class Timer2 {

/**
* @param args
*/
public static void main(String[] args) {

long start = new Date().getTime();

for (int i = 0; i < 4; i++) {
new java.util.Timer().schedule(new java.util.TimerTask() {

public void run() {
String[] arrayElements = { "value1", "value2", "value3",
"value4" };
for (int i = 0; i < arrayElements.length; i++)
System.out.println(arrayElements[i]);

}
}, new Date(start));
start += 1000;
}
}

}

最佳答案

我在交叉帖子中使用scheduleAtFixedRate的答案的解决方案:

import java.util.Timer;
import java.util.TimerTask;

class Timer2 {

private static final String[] ARRAY_ELEMENTS = {"value1", "value2", "value3", "value4"};

public static void main(String[] args) {
final Timer utilTimer = new Timer();
utilTimer.scheduleAtFixedRate(new TimerTask() {
private int index = 0;

public void run() {
System.out.println(ARRAY_ELEMENTS[index]);
index++;
if (index >= ARRAY_ELEMENTS.length) {
utilTimer.cancel();
}
}
}, 5000L, 5000L);
}

}

关于 java 。数组每个值的简单 TimerTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5525176/

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