我遇到字符串比较问题......
让我们说:字符串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
}
循环让我感到困惑......
答案 0 :(得分:1)
从2k12开始的Spoonfeeding。
public static boolean isValid(String a, String b){
for(char c : b.toCharArray())
if(!a.contains(""+c))
return false;
return true;
}