【发布时间】:2019-10-28 06:57:22
【问题描述】:
我只是以 HH:MM 格式获取时间并检查它是否大于 9:30 然后计数 c 增加为 1。我只是为单个用户输入时间做了。但我需要从用户那里获得多次并比较。如果大于 9:30,则增加计数值。首先获取 n 值,然后从用户那里获取 n 时间。如何更改我的代码以获取 n 时间并进行比较?
Scanner input = new Scanner(System.in);
String time = input.nextLine();
System.out.println();
int c=0;
String time2 = "9:30";
DateFormat sdf = new SimpleDateFormat("hh:mm");
Date d1 = sdf.parse(time);
Date d2 = sdf.parse(time2);
if(d1.after(d2))
{
c++;
}
System.out.println(c);
【问题讨论】:
-
循环是你的朋友
-
我建议你不要使用
SimpleDateFormat和Date。这些类设计不良且过时,尤其是前者,尤其是出了名的麻烦。相反,只需使用来自java.time, the modern Java date and time API 的LocalTime。 -
12:15 是否算作 9:30 之后?我输入了
12:15,你的sn-p 打印了0。这不是你的错,而是SimpleDateFormat行为不端。
标签: java time user-input datetime-comparison