Java char到整个字符串比较

时间:2012-03-26 14:25:40

标签: java string compare

我遇到字符串比较问题......

让我们说:字符串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

}

循环让我感到困惑......

1 个答案:

答案 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;
}