一开始从网上搜了一下判断两组数据否存在交叉的 可都是一堆逻辑代码判断太繁琐了所以写一个简单的 首先上代码 然后写上判断逻辑
public static void main(String[] args) {
//开始时间段一
int startOne=3;
//结束时间段一
int endOne=5;
//开始时间段二
int startTwo=6;
//结束时间段二
int endTwo=8;
/**
* TODO) 判断逻辑说明
* 存在两个时间段,如果 (时间段一的开始时间大于时间段二的结束时间 或者 时间段一的结束时间
* 小于时间段二的开始时间) 如果满足这个逻辑那么没有交叉 如果不满足则交叉
* 注意:: 括号里的条件是不可分开的 整个条件就是true和false的关系
* 详解:数据一的开始时间如果比数据二的结束时间大 那么不可能相交
* 数据一的结束时间如果比数据二的开始时间小 那么不能能相交
* 如果满足上面的条件那么 就不可能存在交叉数据
*
* 饶么?有点 简而言之就是 举例说明就是 数据一 是1和3, 数据二是 5和6
* 那么(1大于6,3小于5 ) 满足么?满足 所以不想交 PS:别忘了里面是“或”的关系 满足一项即可
* 如果数据一是1和3,数据二是3和5
* 那么(1大于5,3小于3 ) 满足么?不满足 所以相交
* 还不明白的话 就运行下面的的代码运行一下看看就知道了
*/
if(startOne>endTwo || endOne< startTwo){
System.err.println("没有交叉");
}else{
System.err.println("存在交叉");
}
}
判断结束 就这简简单单的两行代码,判断时间段是否交叉也是这个逻辑就不写了
我是真服了CSDN这机制了 篇幅太多还不行,这不是逼人凑字数么?精简的不能写 属于只能废话了,希望官方能取消这个限制