Я в настоящее время новичок в программировании на Java, и мне было поручено «Копировать и протестировать версию игры Hangman. Ваше решение будет включать в себя класс Hangman, конструктор которого выбирает слово, а метод угадывания обрабатывает каждый догадавшийся персонаж».Переменные в конструкторе?
Однако у меня есть небольшая проблема. Весь мой код работает и компилируется, и я уже написал метод угадывания, но у меня проблема с компиляцией. Я объявляю свои переменные экземпляра внутри моего конструктора. Я использую переменное слово String в моем коде в разных местах, и это не позволяет мне скомпилировать.
Сердце моей проблемы в этом.
public class Hangman{
public Hangman() {
String word = "p u m p k i n";
String blanks = "_ _ _ _ _ _ _";
}
int k = word.length(); ... rest code after this
Когда я пытаюсь скомпилировать это, это не позволяет мне. Он говорит, что переменное слово равно null и отображает сообщение об ошибке. Почему я не могу использовать word.length(), чтобы найти значение длины? Невозможно ли использовать переменные, объявленные внутри конструктора, как переменные экземпляра? Простейшим обходным пути для этого является объявление переменных экземпляра вне конструктора (мой код работает безупречно, если я это делаю), но в подсказке мне нужно выбрать объявить слово внутри конструктора. Почему я не могу использовать слово String, которое Я объявил «тыкву» внутри конструктора, чтобы получить k? Использование переменных пробелов внутри моего метода тоже не работает.
Итак, что не так с этим? Как использовать переменные, объявленные в конструкторе как переменные экземпляра? Или это невозможно? Почему я не могу использовать слово String или String, объявленные в конструкторе? Спасибо.
Переменные, объявленные в любой функции, являются локальными для этой функции, и их область действия находится только в этой функции. Поэтому нет необходимости использовать переменные, объявленные в конструкторе как переменные экземпляра. Вы можете объявить переменные экземпляра и инициализировать их внутри своего конструктора. –