Если кто-либо из вас может указать на проблему в этом коде, я буду рад :) Это просто метод, с которым возникает проблема.
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] = часть письма не работает. Как заставить его работать?
Любая помощь будет высоко оценена (я надеюсь, что правильно сформулировал вопрос..)
Если я правильно понимаю, вам нужен дополнительный аргумент (удерживающий слово) для вашей функции.
Скажите слово String
if(word.charAt(i) == letter)
{
checkArray[i] = letter;
flag = true;
}
Вы сравниваете 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;
}
У вас должно быть 2 массива: 1 с заполненными пробелами и один с фактическим словом, которое проверяется. В настоящее время вы проверяете пустой массив, который никогда не будет буквой.