【发布时间】:2014-04-21 07:11:38
【问题描述】:
这是我第一次在这里发帖,所以如果我需要更正这篇文章中的任何内容,请告诉我。我想就一些给我带来麻烦的事情寻求帮助。我需要检查一个字符串的字符是否出现在另一个字符串中,但它们只需要检测一次。例如,对于字符串“BFEABLDEG”,“LABEL”不应该像当前那样返回 true。
为了澄清,目的不是让程序计算字符数。它是让程序检查创建单词所需的字母是否包含在随机字符串中,两个字符串中每个字母的数量完全相同。该程序部分基于游戏节目Countdown。
这是我目前所拥有的。任何帮助将不胜感激。
编辑:感谢所有帮助我的人。我接受了 Aru 的贡献作为我正在寻找的解决方案,因为它避免了我最准确地遇到的问题,因为需要检查的字符串的大小。
public static boolean Checkword(){
String randomString = "BFEABLDEG";
String word = "LABEL";
{
for(int i=0;i<word.length(); i++){
if(randomString.contains(word.substring((i)))){
return true;
}
}
return false;
}
}
好的,我得到的解决方案适用于基本示例。然而,最终目标是让用户从九个随机字符的字符串中生成任意长度的单词。目前,他们可以通过添加比字符串中更多的任何字符来实现这一点。鉴于该函数已添加到新代码,我想知道是否有人可以帮助我。
public static boolean Checkword(String x){
String randomString = convertToString();
String word = x;
{
for(int i=0;i<word.length(); i++){
if(randomString.indexOf(word.charAt(i)) == -1){
return false;
}
}
return true;
}
}
【问题讨论】:
-
嘿,
randomString中的字母“L”是否必须出现两次,因为"LABEL"中有两个“L”? -
boolean...Java?您应该标记您正在使用的语言。 -
没有。我的问题的目的是确保“标签”这个词会返回错误。目前它正在返回 true。
-
所以它返回
true还是返回false..? -
我认为你需要使用这样的东西stackoverflow.com/a/1816989/2591612
标签: java string for-loop substring contains