Код Java Hangman, массив символов

1

Если кто-либо из вас может указать на проблему в этом коде, я буду рад :) Это просто метод, с которым возникает проблема.

public static char[] checkMethod(char[] checkArray, char letter)
{
    boolean flag = false;

    for(int i=0; i<checkArray.length; i++)
    {

        if(checkArray[i] == letter)
        {
            checkArray[i] = letter;
            flag = true;
        }
    }

    if(flag == true)
        System.out.println("Good job!");
    else 
        System.out.println("Aww.. Try again");

    return checkArray;
}

В настоящее время checkArray содержит "- - - - -" для длины слова. Предполагается, что этот метод заменит букву буквой, если она введена правильно. "letter" - это ввод данных с клавиатуры.

Прямо сейчас я не получаю ожидаемый результат, вместо этого я получаю пробелы. Кажется, что checkArray [i] = часть письма не работает. Как заставить его работать?

Любая помощь будет высоко оценена (я надеюсь, что правильно сформулировал вопрос..)

Теги:
arrays
char

3 ответа

0
Лучший ответ

Если я правильно понимаю, вам нужен дополнительный аргумент (удерживающий слово) для вашей функции.

Скажите слово String

if(word.charAt(i) == letter)
{
    checkArray[i] = letter;
    flag = true;
}
0

Вы сравниваете checkArray [i] == письмо, и если true заменяет checkArray [i] буквой, но они уже равны. Вам нужно передать слово, которое вы проверяете.

public static char[] checkMethod(char[] checkArray, char[] wordArray, char letter)
{
   boolean flag = false;

   for(int i=0; i<checkArray.length; i++)
   {

      if(wordArray[i] == letter)
      {
          checkArray[i] = letter;
          flag = true;
      }
   }

   if(flag == true)
       System.out.println("Good job!");
   else 
       System.out.println("Aww.. Try again");

   return checkArray;
}
0

У вас должно быть 2 массива: 1 с заполненными пробелами и один с фактическим словом, которое проверяется. В настоящее время вы проверяете пустой массив, который никогда не будет буквой.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню