首页 > 解决方案 > 我想在java中制作一个在特定时间停止的计时器

问题描述

因此,我尝试制作一个计时器,该计时器将在我放入 if 语句的特定时间停止,尽管它不起作用。有没有办法可以做到这一点?

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;

public class time {
    public static void main(String args[]) {
        do {
            Date date = Calendar.getInstance().getTime();
            DateFormat dateFormat = new SimpleDateFormat("dd hh:mm:ss");
            String strDate = dateFormat.format(date);
            System.out.println(strDate);
            if (strDate == "06 03:22:30") {
                System.out.println("timer done");
            }
        } while (true);
    }
}

标签: javaif-statementtimer

解决方案


如果条件匹配,请添加break语句。否则它将打印并继续处理,它将以无限循环结束。还使用 .equals() 方法添加比较字符串相等性,而不是 ==(即参考比较)

public class time {
    public static void main(String args[]) {
        do {
            Date date = Calendar.getInstance().getTime();
            DateFormat dateFormat = new SimpleDateFormat("dd hh:mm:ss");
            String strDate = dateFormat.format(date);
            System.out.println(strDate);
            if (strDate.equals("06 03:22:30")) {
                System.out.println("timer done");
                break;
            }
        } while (true);
    }
}

推荐阅读