如何在java中释放查询间隔
我有两个版本号。 例如: 旧版本=1.1.0 新版本=3.3.4如何在java中释放查询间隔,java,algorithm,release,intervals,Java,Algorithm,Release,Intervals,我有两个版本号。 例如: 旧版本=1.1.0 新版本=3.3.4 1.1.0<1.2.1<3.3.4 format =(Major| Minor|Revision) 1.1.0<1.2.5<3.3.4 format =(Major| Minor|Revision) 1.1.0<1.2.5.1<3.3.4 format =(Major| Minor|Revision|Build Number) 1.1.0<3.0<
1.1.0<1.2.1<3.3.4 format =(Major| Minor|Revision)
1.1.0<1.2.5<3.3.4 format =(Major| Minor|Revision)
1.1.0<1.2.5.1<3.3.4 format =(Major| Minor|Revision|Build Number)
1.1.0<3.0<3.3.4 format =(Major|Minor)
我想创建查询以获取其他版本号
在旧版本和新版本之间,如1.2.1或1.2.5或1.2.5.1或1.3.0,但除3.3.5外,这些版本号必须作为其他发布版本返回(1.2.1 | 1.2.5 | 1.3.0 | 1.2.5.1 | 3.0)
因为这些版本号包括旧版本和新版本的范围
e、 g:
旧版本=1.1.0
新版本=3.3.4
1.1.0<1.2.1<3.3.4 format =(Major| Minor|Revision)
1.1.0<1.2.5<3.3.4 format =(Major| Minor|Revision)
1.1.0<1.2.5.1<3.3.4 format =(Major| Minor|Revision|Build Number)
1.1.0<3.0<3.3.4 format =(Major|Minor)
1.1.0假设您的版本字符串始终采用“x.y.z”格式(没有空格,除了点和数字之外没有其他特殊字符)。
编写函数以获取版本的相对值,如下所示:
int valueOfVersion(String version){
String numberStr = "";
int numberInt = 0;
for(int i=0;i<version.length();i++){
if(version.charAt(i)=='.'){
numberStr = "";
numberInt*10+Integer.parseInt(numberStr);
}
else{
numberStr+=Character.toString(version.charAt(i));
}
}
numberInt*10+Integer.parseInt(numberStr); //process the last part of version
return numberInt;
}
int-valueOfVersion(字符串版本){
字符串numberStr=“”;
int numberprint=0;
对于(int i=0;i如果您的字符串版本不总是三位数格式(它们可能是“x.y”或“x.y.z.t.u.v…”),则获取其中的每个部分并进行相对比较
boolean isGreater(String v1, String v2){
int[]numbers1 = getNumbers(v1);
int[]numbers2 = getNumbers(v2);
for(int i=0;i<numbers1.length()&&i<numbers2.length();i++){
if(numbers1[i]>numbers2[i]) return true; //v1 > v2
if(numbers1[i]<numbers2[i]) return false; //v1 < v2
}
if(numbers1.length()==numbers2.length()) return false; they're same
return numbers1.length()>numbers2.length();
}
布尔值更大(字符串v1、字符串v2){
int[]numbers1=getNumbers(v1);
int[]numbers2=getNumbers(v2);
对于(int i=0;i v2
if(numbers1[i]很抱歉,我不能清楚地解释我的问题。我更新了问题。实际上应该支持其他发行格式的“x.y”或“x.y.z.t”版本。例如:1.1。0@Yasin查看我的新答案非常感谢。这是处理它的工作。问题解决后很容易。谢谢@Ta Quang Tu