版本的比较

来源:互联网 发布:ubuntu中文输入 编辑:程序博客网 时间:2024/06/07 02:08

问题来源,投递一家大数据的职位,让写的一个题:您好!我技术合伙人需要先考察一下您的代码功底,麻烦您用java实现version compare函数及测试用例,我发给技术合伙人看看。目标是做成库给外部开发者用,对任意软件的版本号做比较,输入参数为两个版本号。function versionCompare(v1, v2),v1、v2是任意软件的两个版本号,比较其大小关系。不得使用现成的版本比较库函数。

代码:

import org.junit.Test;public class VersionControl {    /**     * @param version1 传入的第一个版本号 例如:"1.1.1"     * @param version2 传入的第二个版本号 例如:"2.3.4"     * @return 两个版本号的大小,返回值有-1,0,1     */    public static int compareVersion(String version1, String version2) {         if (version1.equals(version2)) {             return 0;         }         String[] version1Array = version1.split("\\.");         String[] version2Array = version2.split("\\.");         for(int i=0;i<version1Array.length;i++){             if(version1Array[i]!=version2Array[i]){                 return Integer.parseInt(version1Array[i])>Integer.parseInt(version2Array[i]) ? 1 : -1;             }         }         return 0;     }    /**     * 测试用例有1.1.1,1.1.1;10.1.1,9.1.2;1.1.2,1.2.3;              */    @Test    public void testcompareVersion(){        String version1 = "10.1.1";        String version2 = "9.1.2";        int val = VersionControl.compareVersion(version1, version2);        System.out.println(val);    }}
1 0