我想在java中创建一个在特定时间停止的计时器
因此,我尝试制作一个计时器,它将在我放入if语句的特定时间停止,尽管它不起作用。我有没有办法做到这一点我想在java中创建一个在特定时间停止的计时器,java,if-statement,timer,Java,If Statement,Timer,因此,我尝试制作一个计时器,它将在我放入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.g
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);
}
}
如果条件匹配,请添加break语句。否则它将打印并继续处理,最终将进入一个无限循环。还可以添加使用.equals()方法比较字符串等式,而不是==(这是引用比较)
谢谢你的建议,但这并不能解决我原来的问题。我已经更新了代码。现在请检查,它应该可以工作了。顺便说一句,您正在使用可怕的日期时间类,这些类在几年前被JSR310中定义的现代java.time类所取代。另外,请检查。在java中,不能使用==运算符比较字符串。改为使用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);
}
}