欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 校验是否为连续的区间

程序员文章站 2022-06-16 15:22:56
工作中遇到需要校验是否为连续给出示例0100100600600-1从0到正无穷的连续区间。使用-1代表无穷大可以考虑使用二维数组array来存放数据,同样使用二维数组比较数据是最方便的。可以找到规则array[0][0]=0,第一个数据总是等于0array[0][1]=array[1][0]array[1][1]=array[2][0],从第二个数据开始,等于下一个的第一个数据,以此类推array[2][1]=....

工作中遇到需要校验是否为连续

给出示例

0 100
100 600
600

-1

从0到正无穷的连续区间。

使用-1代表无穷大

可以考虑使用二维数组array来存放数据,同样使用二维数组比较数据是最方便的。

可以找到规则

  1. array[0][0]=0,第一个数据总是等于0
  2. array[0][1]=array[1][0]
  3. array[1][1]=array[2][0],从第二个数据开始,等于下一个的第一个数据,以此类推
  4. array[2][1]=-1,最后一个总是等于-1(正无穷大)

Java 校验是否为连续的区间

通过以上分析,可以使用二维数组来校验是否为连续的区间

package javatest;

import org.apache.commons.lang.StringUtils;

import java.util.List;

/**
 * @version V1.0
 * @Description: 测试
 * @author: niaobulashi
 * @date: 2020/09/23
 */
public class Test {
    public static void main(String[] args) {
        // 创建一个二维数组
        String a[][] = {{"0", "800000"}, {"800000", "1600000.2"}, {"1600000.2", "-1"}};
        if (!"0".equals(a[0][0])) {
            System.out.println("返回错误信息:不是以0开头,该区间为不连续区间");
        }
        if (!"-1".equals(a[a.length - 1][a[0].length - 1])) {
            System.out.println("返回错误信息:不是以正无穷结尾,该区间为不连续区间");
        }
        for (int k = 0; k < a.length - 1; k++) {
            if (!StringUtils.equals(a[k][1], a[k + 1][0])) {
                System.out.println("返回错误信息:该区间为不连续区间");
            }
        }
    }
} 

本文地址:https://blog.csdn.net/u013299671/article/details/108856040

相关标签: Java 连续区间