【问题标题】:Java char to entire string compareJava char 与整个字符串的比较
【发布时间】: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,您应该自己尝试一下,然后如果您有任何困难,您应该发布...

标签: java string compare


【解决方案1】:

自 2k12 以来一直在喂食。

   public static boolean isValid(String a, String b){
    for(char c : b.toCharArray())
        if(!a.contains(""+c))
            return false;
    return true;
}

【讨论】:

  • 这基本上是问题中描述的直接转录;很遗憾,询问者没有尝试为自己解决问题的迹象。
  • 哇。如此简单的任务,我遇到了很多麻烦。谢谢!它确实有效:)感谢您的时间和精力!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多