我目前是 Java 编程的初学者,任务是“编码并测试 Hangman 游戏的一个版本。您的解决方案将涉及一个 Hangman 类,其构造函数选择一个单词,其猜测方法处理每个猜测的字符。”
不过,我有一个小问题。我的整个代码可以工作并编译,并且我已经编写了猜测方法,但是编译时遇到问题。我在构造函数中声明实例变量。我在代码中的各个地方使用了 String 变量 word,但它不允许我编译。
我的问题的核心是这个。
public class Hangman{
public Hangman () {
String word = "p u m p k i n";
String blanks = "_ _ _ _ _ _ _";
}
int k = word.length(); ... rest code after this
当我尝试编译这个时,它不允许我这样做。它表示变量 word 为空并显示错误消息。为什么我不能使用 word.length() 来查找长度值?构造函数内部声明的变量不能作为实例变量使用吗?最简单的解决方法是在构造函数之外声明我的实例变量(如果这样做,我的代码将完美地工作),但提示要求我选择在构造函数内声明该单词。为什么我不能使用 String 单词我在构造函数中声明为“p u m p k i n”来获取 k?在我的方法中使用变量空白也不起作用。
那么,这有什么问题呢?如何将构造函数中声明的变量用作实例变量?或者这是不可能的?为什么我不能使用构造函数中声明的字符串单词或字符串空白?
谢谢。
每次您创建local构造函数中的变量。
public Hangman () {
String word = "p u m p k i n";
String blanks = "_ _ _ _ _ _ _";
}
你要做的就是在中分配值constructor
给会员们。
String word;
String blanks;
public Hangman () {
word = "p u m p k i n";
blanks = "_ _ _ _ _ _ _";
}
更重要的是,不将它们放入构造函数参数中并在构造函数中分配它们是没有意义的。
它应该是
public Hangman (String word, String blanks) {
this.word = word;
this.blanks = blanks;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)