【发布时间】:2012-03-26 14:25:40
【问题描述】:
我遇到了字符串比较问题...
让我们说:字符串 a = "0123456789ABCDEF" 字符串 b = "00CC0G"
如何循环 java 代码,以便检查字符串 a 是否与字符串 b 中的每个字母匹配。在比较匹配时,字符串 b 中的字母必须通过整个循环与字符串 a 匹配,然后才能确定是否匹配。如果找到匹配项,它应该检查字符串 b 中的下一个字母和字符串 a,依此类推,直到字符串 b 中的最后一个字母。如果未找到匹配项,则函数 shud 退出循环并返回 false。否则,如果字符串 b 中的每个字母与字符串 a 至少匹配一次,则函数 shud 返回 true。
示例...函数应该返回 false,因为前 5 个字母匹配但最后一个不匹配。
有什么想法吗?谢谢
编辑:我目前所拥有的
public boolean checkVal(String b) {
// b = "00CC0G";
String a = "0123456789ABCDEF";
String toUC = b.toUpperCase();
char[] cArray = toUC.toCharArray();
char[] vArray = a.toCharArray();
int j = 0;
int m = 0;
for (int i = 0; i <=cArray.length(); i++) {
for (int k = 0; k <= vArray.length(); k++) {
if (cArray[k] == vArray[i]) {
j++;
}
else {
m--;
break; //loop should exit if there is a non match and function should return false
}
}
}
if (j > 0) return true; //string a matched atleast once with string b
if (m < 0) return false; //string a alteast has one NO MATCH with string b
}
循环让我感到困惑......
【问题讨论】:
-
还有...到目前为止,您尝试过什么?
-
是的,Jay,您应该自己尝试一下,然后如果您有任何困难,您应该发布...