Java - Hangman Game - проблема с charAt в переменной StringBuffer

Так что я пытаюсь сделать игру "зависшим человеком", используя сайт, который возвращает случайное слово. Я использую это случайное слово для игры палач.

То, на чем я застрял - это подтверждение предположения, которое делает пользователь. Вот код, я просто сначала помещаю все в main, а затем делаю отдельные методы, чтобы сделать работу для меня после этой работы.

public static void main(String[] args) throws Exception {
    randomWord = TestingStuff.sendGet();
    int totalTries = 1;
    char[] guesses = new char[26];
    int length = randomWord.length();
    Scanner console = new Scanner(System.in);

    System.out.print("* * * * * * * * * * * * * * *"
            + "\n*    Welcome to Hangman!    *"
            + "\n* * * * * * * * * * * * * * *");
    System.out.println("\nYou get 10 tries to guess the word by entering in letters!\n");
    System.out.println(randomWord);
    /*
     Cycles through the array based on tries to find letter
     */
    while (totalTries <= 10) {
        System.out.print("Try #" + totalTries);
        System.out.print("\nWhat is your guess? ");
        String guess = console.next();
        char finalGuess = guess.charAt(0);
        guesses[totalTries - 1] = finalGuess; //Puts finalGuess into the array


            for (int i = 0; i < totalTries; i++) { //checks to see if the letter is already guessed
                if (finalGuess != guesses[i]) {
                    for (int j = 0; i < length; j++) { //scans each letter of random word
                        if (finalGuess.equals(randomWord.charAt(j))) {

                        }
                    }
                } else {
                    System.out.println("Letter already guessed, try again! ");
                }
            }
        }
    }

Я застрял внутри цикла while, где написано:

            for (int i = 0; i < totalTries; i++) { //checks to see if the letter is already guessed
                if (finalGuess != guesses[i]) {
                    for (int j = 0; i < length; j++) { //scans each letter of random word
                        if (finalGuess.equals(randomWord.charAt(j))) {

                        }
                    }
                } else {
                    System.out.println("Letter already guessed, try again! ");
                }
            }

Это дает мне ошибку, говоря "char не может быть разыменован". Я что-то здесь упускаю?

1 ответ

Решение

finalGuess это примитив char - вы не можете использовать методы, такие как equals в теме. Вы могли бы просто сравнить два charс помощью == оператор:

if (finalGuess == randomWord.charAt(j)) {
Другие вопросы по тегам