比较两称号大小的工具函数,如
1.天津市北辰区第三十五(省级)
2.河北省衡水市第七(市级)
1>2
返回 true
/**
* @author sun weikai
*/
public class CompareTitle {
public static Boolean CompareTitle(String title1,String title2) {
String province = "省第";
String city = "市第";
String county1 = "县第";
String county2 = "区第";
int score1 = 0;
int score2 = 0;
boolean status1 = title1.contains(province);
boolean status2 = title1.contains(city);
boolean status3 = title1.contains(county1);
boolean status4 = title1.contains(county2);
boolean status5 = title1.contains("省");
boolean status11 = title2.contains(province);
boolean status22 = title2.contains(city);
boolean status33 = title2.contains(county1);
boolean status44 = title2.contains(county2);
boolean status55 = title2.contains("省");
int number1 = title1.indexOf("第");
int number2 = title2.indexOf("第");
//得到 第 的位置
String No1 = title1.substring(number1+1,title1.length());
String No2 = title2.substring(number2+1,title2.length());
//得到相应的中文数字
System.out.println("No1:"+No1);
System.out.println(ChineseNum2int.chineseNumToArabicNum(No1));
System.out.println(status1);
System.out.println(status2);
System.out.println(status3);
System.out.println(status4);
System.out.println(status5);
System.out.println("No2:"+No2);
System.out.println(ChineseNum2int.chineseNumToArabicNum(No2));
System.out.println(status11);
System.out.println(status22);
System.out.println(status33);
System.out.println(status44);
System.out.println(status55);
注意:如果只含市不含省 当省处理
if (status2 &&(!status5)){
score1+=(100-ChineseNum2int.chineseNumToArabicNum(No1))*100;
}
else if (status1){
score1+=(100-ChineseNum2int.chineseNumToArabicNum(No1))*100;
}
//市级
if (status2&&status5){
score1+=(100-ChineseNum2int.chineseNumToArabicNum(No1))*10;
}
//县级
if (status3||status4){
score1+=(100-ChineseNum2int.chineseNumToArabicNum(No1));
}
// 省级
if (status22&&(!status55)){
score2+=(100-ChineseNum2int.chineseNumToArabicNum(No2))*100;
}else if (status11){
score2+=(100-ChineseNum2int.chineseNumToArabicNum(No2))*100;
}
//市级
if (status22&&status55){
score2+=(100-ChineseNum2int.chineseNumToArabicNum(No2))*10;
}
//县级
if (status33||status44){
score2+=(100-ChineseNum2int.chineseNumToArabicNum(No2));
}
System.out.println("score1:"+score1);
System.out.println("score2:"+score2);
if (score1 >= score2) {
return true;
}
return false;
}
}