zoukankan      html  css  js  c++  java
  • java 版本比较

     1 public class version {
     2 
     3     public static int compareVersion(String version1, String version2) throws Exception {
     4         if (version1 == null || version2 == null) {
     5             throw new Exception("compareVersion error:illegal params.");
     6         }
     7         String[] versionArray1 = version1.split("\.");//注意此处为正则匹配,不能用".";
     8         String[] versionArray2 = version2.split("\.");
     9         int idx = 0;
    10         int minLength = Math.min(versionArray1.length, versionArray2.length);//取最小长度值
    11         int diff = 0;
    12         while (idx < minLength
    13                 && (diff = versionArray1[idx].length() - versionArray2[idx].length()) == 0//先比较长度
    14                 && (diff = versionArray1[idx].compareTo(versionArray2[idx])) == 0) {//再比较字符
    15             ++idx;
    16         }
    17         //如果已经分出大小,则直接返回,如果未分出大小,则再比较位数,有子版本的为大;
    18         diff = (diff != 0) ? diff : versionArray1.length - versionArray2.length;
    19         return diff;
    20     }
    21 
    22     public static void main(String [] args) throws Exception{
    23         System.out.println(compareVersion("1.2.3", "1.2.3"));
    24     }
    25 }
  • 相关阅读:
    N!的位数
    c语言memset()函数
    通宵教室(ACM水题)
    欧拉函数+素数筛
    快速幂+大数取模
    观光浏览
    插入类排序(直接插入排序)
    showDoc使用方法
    $_POST与input('post.')区别
    “三日”面试官心得
  • 原文地址:https://www.cnblogs.com/lxn0216/p/9262752.html
Copyright © 2011-2022 走看看