Задача - угадай слово . Java
Помогите пожалйста доработать задачку - угадай слово . Есть массив слов. Программа загадывает слово рандомно. Пользователь в консоли пытается угадать слово. Если не отгадал в консоль выводится подсказка типа : gr############### , gr - первые две буквы загаданного слова. При повторном отгадывании подсказка добавляет еще две буквы (в этом состоит проблема). Игра не закончится пока пользователь не ввел загаданное слово. Как сделать так чтобы в консоль добавлялось по две буквы загаданного слова при повторном отгадывании ? Вот мой код :
String[] words = {"apple", "orange", "lemon", "banana", "apricot", "avocado" ,
"broccoli", "carrot", "cherry", "garlic", "grape", "melon", "leak", "kiwi",
"mango", "mushroom", "nut", "olive", "pea", "peanut", "pear", "pepper", "pineapple",
"pumpkin", "potato"
};
String randomWord = words[random.nextInt(words.length)];
System.out.println(randomWord);
System.out.println(" Guess a word : ");
String word = scanner.next().toLowerCase();
while (!randomWord.equals(word)){
StringBuilder stringBuilder = new StringBuilder (randomWord.substring(0, 2));
System.out.println(stringBuilder.append("###############"));
System.out.println(" Try again ! ");
word = scanner.next().toLowerCase();
}
if (randomWord.equals(word)){
System.out.println("Correct! You won !!!");
}
Ответы (1 шт):
Автор решения: mesfex
→ Ссылка
Но, я бы подумал ещё над тем, чтобы не постоянное количество "#" добавлять, а то, сколько закрыто букв.
String[] words = {"apple", "orange", "lemon", "banana", "apricot", "avocado" ,
"broccoli", "carrot", "cherry", "garlic", "grape", "melon", "leak", "kiwi",
"mango", "mushroom", "nut", "olive", "pea", "peanut", "pear", "pepper", "pineapple",
"pumpkin", "potato"
};
Scanner scanner = new Scanner(System.in);
Random random = new Random();
String randomWord = words[random.nextInt(words.length)];
System.out.println(randomWord);
System.out.println(" Guess a word : ");
String word = scanner.next().toLowerCase();
int hintCharacter = 2;
while (!randomWord.equals(word)){
StringBuilder stringBuilder = new StringBuilder (randomWord.substring(0, hintCharacter));
System.out.println(stringBuilder.append("###############"));
System.out.println(" Try again ! ");
word = scanner.next().toLowerCase();
if (hintCharacter + 2 <= randomWord.length()) {
hintCharacter += 2;
}
}
if (randomWord.equals(word)){
System.out.println("Correct! You won !!!");
}