注册 登录
编程论坛 JAVA论坛

一道java编程题目(项目中的版本比较)

qq383264679 发布于 2016-01-29 10:44, 2538 次点击
需求,App上传版本进行校验:
版本号格式:a.b.c   a,b,c都是0-9之间的数字

条件如果上传的版本号中存在,且大于上传的版本,则校验不通过。

现在就是已知:当前的最高版本例如0.2.9  则0.3.0能通过。(规则就是最高的大于则可以,相同第二个最高大于则可以,以此类推...)
3 回复
#2
hhwz2016-01-29 17:21
分割.号 转换成 int[]的数组
从0开始比较
#3
紫月一殇雪2016-01-30 10:00
这不科学,官方定义最新版本2.9,你这弄出一个3.0,那不是盗版的么?  要求小于等于当前最新版本,小于不能超过3个大版本,这样才合理
#4
大神密码2016-02-18 17:45
public class Test {

    public static void main(String[] args) {

        String oldVersion = "0.3.0";// 假设原先的版本号为0.3.0

        String newVersion = "0.2.8";// 要校验的版本号为0.2.8

        boolean b = checkVersion(oldVersion, newVersion);
        System.out.println("版本号是否通过:" + b);
    }

    public static boolean checkVersion(String oldVersion, String newVersion) {
        String regex = "(\\d\\.){2}\\d";// 正则表达式
        // 先判断版本号格式
        boolean flag = newVersion.matches(regex);
        if (flag) {
            int i = (oldVersion);
            if (i < 0)
                flag = false;

        }
        return flag;

    }

}
1