我想用 compareTo() 函数比较 2 个字符串。
例子:
int result = "650".compareTo("651");
if(result < 0){
System.out.println("smaller");
} else if(result > 0){
System.out.println("bigger");
} else {
System.out.println("equals");
}
System.out.println(result);
这将输出更小,这是正确的。
示例 2:
int result = "650".compareTo("1000");
if(result < 0){
System.out.println("smaller");
} else if(result > 0){
System.out.println("bigger");
} else {
System.out.println("equals");
}
System.out.println(result);
这将随着输出变大而返回。这有点奇怪,因为 650 因为数字小于 1000。
怎么样,我该如何改变它?(是的,数字需要采用文本格式)。
我想做这个:
int result = "650/65".compareTo("1050/50");
if(result < 0){
System.out.println("smaller");
} else if(result > 0){
System.out.println("bigger");
} else {
System.out.println("equals");
}
这返回“650/65”大于“1050/50”但实际上它更小。
编辑
我已经解决了这些案例,现在是这样的:
String maat = "650/65";
int subMaatB = 0;
int subMaatA = 0;
if(maat.contains("/")){
try{
subMaatA = Integer.parseInt(maat.substring(0, maat.lastIndexOf("/")));
subMaatB = Integer.parseInt(maat.substring(maat.lastIndexOf("/")+1));
} catch (NumberFormatException e){
}
}
boolean resultA = subMaatA >= 440;
boolean resultB = subMaatB >= 65;
boolean resultC = subMaatA <= 1050;
boolean resultD = subMaatB <= 50;
if(resultA && resultB && resultC && resultD){
System.out.println("BIGGER");
} else {
System.out.println("Smaller");
}
因此,Maat 必须在 440/65 和 1050/50 的范围内。Maat 应该在我之前提到的范围之间。