Я хотел бы получить некоторую помощь в кодировании этой части, когда программа запрашивает ввод столько раз, сколько длина слова.
Итак, когда мы запускаем программу, она выбирает слово случайным образом из массив и, например, если мы ищем слово «команда», это означает, что у нас есть четыре догадки.
Я пытался решить это с помощью фрагмента ниже. Это кажется таким простым, но я что-то упускаю:
while(!guess.equals(choosenWord) && letters <= choosenWord.length()) {
System.out.print("Your guess is: ");
guess = sc.nextLine();
Следующая часть, в которой мне нужен некоторый намек, - если у нас есть совпадения в символах, то должен отображаться найденный символ и знак "-" должен показываться где-либо еще: например, слово «команда» по-прежнему ищется, и мы предполагаем, что «ребенок», чем «--a-».
Спасибо за советы.
import java.util.Scanner;
public class FindTheWord {
public static void main(String[] args) {
findTheWord();
}
public static void findTheWord() {
Scanner sc = new Scanner(System.in);
String[] words = {
"dog", "cat", "house", "love", "friend", "paper", "summer", "chips",
"number", "file", "program", "lotto", "work", "funny", "database",
"team", "profile", "facebook", "bean", "winter", "spring", "java",
"examination", "hospital", "birth", "baby", "newborn", "airplane",
"kindergarten", "autumn"};
int randomWord = (int) (Math.random() * 31);
String choosenWord = " ";
int letters = 0;
String guess = " ";
char ch = ' ';
for (int i = 0; i < words[randomWord].length(); i++) {
choosenWord = words[randomWord];
}
for (int j = 0; j < choosenWord.length(); j++) {
letters = choosenWord.length();
while(!guess.equals(choosenWord) && letters <= choosenWord.length()) {
System.out.print("Your guess is: ");
guess = sc.nextLine();
}
}
System.out.println(words[randomWord]);
System.out.println(letters);
}
}