Java实现定时无限循环输出

写在前面

每隔多少秒(3s或5s…)输出一个数字,实现循环输出123123123123…

方法一

/**
* @author wen
* @version 创建时间: 2020年3月14日 上午10:05:38
*/
public class test {
	static int flag = 0;
	public static void main(String[] args) {
		List<String> list = new ArrayList<>();
		
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
		list.add("1");
		list.add("2");
		list.add("3");
		
		for (;;) {
            try {
                Thread.currentThread().sleep(5000);
                Date nowDate = new Date();
                if (flag < 3) {
                	System.out.println(formatter.format(nowDate) + " : " + list.get(flag));
                	flag ++;
                	if (flag == 3) {
                		flag = 0;
                	}
                } 
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }      
	}
}

运行结果:

14-03-2020 10:16:17 : 1
14-03-2020 10:16:22 : 2
14-03-2020 10:16:27 : 3
14-03-2020 10:16:32 : 1
14-03-2020 10:16:37 : 2
14-03-2020 10:16:42 : 3
14-03-2020 10:16:47 : 1
14-03-2020 10:16:52 : 2

方法二

/**
* @author wen
* @version 创建时间: 2020年3月14日 上午10:05:38
*/
public class test {
	static int flag = 0;
	public static void main(String[] args) {
		List<String> list = new ArrayList<>();
	
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
		list.add("1");
		list.add("2");
		list.add("3");
		
		Timer timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
            	Date nowDate = new Date();
                if (flag < 3) {
                	System.out.println(formatter.format(nowDate) + " : " + list.get(flag));
                    flag ++;
                    if (flag == 3) {
                		flag = 0;
                	}
                } 
            }
        }, 1000,3000);
	}
}

运行结果:

14-03-2020 10:18:10 : 1
14-03-2020 10:18:13 : 2
14-03-2020 10:18:16 : 3
14-03-2020 10:18:19 : 1
14-03-2020 10:18:22 : 2
14-03-2020 10:18:25 : 3
14-03-2020 10:18:28 : 1
14-03-2020 10:18:31 : 2
14-03-2020 10:18:34 : 3
14-03-2020 10:18:37 : 1

你可能感兴趣的:(Java)