📄 stringcompare.java
字号:
package net.aetherial.gis.our.duibi.offenuse;
/**
* <p>Title: </p>
*
* <p>Description:字符比较,比较匹配率,60% 匹配,算通过,40%不通过 </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class StringCompare {
public StringCompare() {
}
/**
* 文字是否相似
*/
public static boolean isSimulate(String str1, String str2) {
str1 = str1.trim();
str2 = str2.trim();
if (str1.equals("") && str2.equals("")) {
return true;
}
else if (str1.equals("") || str2.equals("")) {
return false;
}
char[] ch1 = str1.toCharArray();
char[] ch2 = str2.toCharArray();
if ( (ch1 == null) && (ch2 == null)) {
return true;
}
else if ( (ch1 == null) || (ch2 == null)) {
return false;
}
int eq = 0;
if (ch1.length <= ch2.length) {
for (int i = 0; i < ch1.length; i++) {
// 判断ch1里的字符在ch2里是否拥有
if (isContain(ch1[i], ch2)) {
eq++;
}
}
if ( (eq / ch1.length) > 0.6) {
return true;
}
else {
return false;
}
}
else {
for (int i = 0; i < ch2.length; i++) {
// 判断ch1里的字符在ch2里是否拥有
if (isContain(ch2[i], ch1)) {
eq++;
}
}
if ( (eq / ch2.length) > 0.6) {
return true;
}
else {
return false;
}
}
}
/**
* 判断在array数组里是否有一个字符与ch相同
*/
private static boolean isContain(char ch, char[] array) {
if (array == null) {
return false;
}
for (int i = 0; i < array.length; i++) {
if (ch == array[i]) {
return true;
}
}
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -