This is my first time posting here, so please tell me if I need to correct anything in this post. I'd like to ask for help with something that's been giving me some trouble. I need to check that the characters of one string appear in another string, but they need to be detected only once. For example, for the string "BFEABLDEG", "LABEL" should not return true, as it currently is doing.
For clarification, the aim is not to have the program count characters. It is to have the program check that the letters needed to create a word are contained in randomString, with the exact same number of each letter in both Strings. The program is partly based on the game show Countdown.
This is what I have so far. Any help would be greatly appreciated.
Edit: Thanks to everyone who helped me out with this. I've accepted Aru's contribution as the solution I was looking for as it avoids the problem I was having most accurately, given that the size of the string that needs to be checked.
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;
}
}
Ok, the solution I was given works for basic examples. However, the end goal was for the user to make words of any length from a string of nine random characters. Currently they can do this by putting in more occurences of any character than there are in the string. I was wondering if anyone could help me with this, given the new code that the function has been added to.
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;
}
}