2016-02-20 8 views
-1

Я пытаюсь создать программу, которая будет генерировать три случайные буквы. Затем пользователь должен будет ввести слово, содержащее эти буквы, и является допустимым словом, содержащимся в словаре. Но проблема, с которой я сталкиваюсь, заключается в том, что я не уверен, как я буду проверять, содержит ли слово, которое вводит пользователь, три буквы, которые были случайно сгенерированы. Тогда проверка его на части словаря проста.Проверьте, содержит ли слово определенные буквы?

ответ

1
if(userStr.contains("rl1") && userStr.contains("rl2") && userStr.contains("rl3")) { 
    //user string contains random letter 
} 
0

Вы можете сделать использовать indexOf(char) найти, если слово содержит букву.

Если символ присутствует в строке, он возвращает индекс (> = 0). Если нет, то возвращает -1. Таким образом, неотрицательное возвращаемое значение означает, что символ присутствует в слове.

Random r = new Random(); 
    char c1 = (char) (r.nextInt(26) + 'a'); 
    char c2 = (char) (r.nextInt(26) + 'a'); 
    char c3 = (char) (r.nextInt(26) + 'a'); 

    String word = "example"; 

    if(word.toLowerCase().indexOf(c1) >= 0 && word.toLowerCase().indexOf(c2) >= 0 && word.toLowerCase().indexOf(c3) >= 0) 
     System.out.println("true"); 
    else 
     System.out.println("try again");