判断两组数据是否交叉(是否相交)

这篇博客介绍了一种简洁的方法来判断两个时间段是否交叉。通过比较两个时间段的开始和结束时间,只需两行代码即可实现判断。逻辑是如果时间段一的开始时间大于时间段二的结束时间或者时间段一的结束时间小于时间段二的开始时间,则不存在交叉。作者通过举例说明了判断逻辑,并对CSDN的篇幅限制表达了不满。
摘要由CSDN通过智能技术生成

一开始从网上搜了一下判断两组数据否存在交叉的 可都是一堆逻辑代码判断太繁琐了所以写一个简单的  首先上代码 然后写上判断逻辑

    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这机制了 篇幅太多还不行,这不是逼人凑字数么?精简的不能写 属于只能废话了,希望官方能取消这个限制

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值