Задача - угадай слово . 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 !!!");
}
→ Ссылка