帮我写一个java判断俩个时间段不重叠不包含的判断
时间: 2023-05-28 16:07:02 浏览: 227
java 判断两个时间段是否重叠的案例.docx
5星 · 资源好评率100%
下面是一个Java程序,用于判断两个时间段是否不重叠且不包含:
```java
import java.time.LocalTime;
public class TimeOverlapChecker {
public static boolean isOverlap(LocalTime start1, LocalTime end1, LocalTime start2, LocalTime end2) {
if (start1.isAfter(end1) || start2.isAfter(end2)) {
throw new IllegalArgumentException("Invalid time range");
}
return start1.isBefore(end2) && start2.isBefore(end1);
}
public static void main(String[] args) {
LocalTime start1 = LocalTime.of(9, 0);
LocalTime end1 = LocalTime.of(10, 0);
LocalTime start2 = LocalTime.of(11, 0);
LocalTime end2 = LocalTime.of(12, 0);
boolean isOverlap = isOverlap(start1, end1, start2, end2);
System.out.println("The time ranges are " + (isOverlap ? "overlapping" : "not overlapping"));
}
}
```
该程序使用`LocalTime`类来表示时间,并提供了一个`isOverlap()`方法,该方法接受四个参数:第一对时间段的起始时间和结束时间,以及第二对时间段的起始时间和结束时间。方法将检查这两个时间段是否重叠或包含。
在方法中,我们首先检查输入的时间段是否有效,即起始时间是否在结束时间之前。然后,我们检查两个时间段的起始时间和结束时间是否在彼此之前或之后。如果是,则这两个时间段不重叠且不包含。如果不是,则这两个时间段重叠或包含。
在`main()`方法中,我们创建两个时间段,并调用`isOverlap()`方法来检查它们是否重叠或包含。最后,我们输出结果。
阅读全文