【发布时间】:2013-11-22 07:01:07
【问题描述】:
我目前是 Java 编程的初学者,我的任务是“编写和测试 Hangman 游戏的一个版本。您的解决方案将涉及一个 Hangman 类,它的构造函数选择一个单词,并且它的 guess 方法处理每个猜测的字符。”
但是,我有一个小问题。我的整个代码都可以运行和编译,并且我已经编写了guess 方法,但是我在编译时遇到了问题。我在构造函数中声明了实例变量。我在代码中的各个地方都使用了字符串变量字,它不允许我编译。
我的问题的核心是这个。
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() 来查找长度的值?不能将构造函数内部声明的变量用作实例变量吗?最简单的解决方法是在构造函数之外声明我的实例变量(如果我这样做,我的代码可以完美地工作),但是提示要我选择在构造函数中声明这个词。为什么我不能使用字符串词我在构造函数中声明为“p u m p k i n”以获得k?在我的方法中使用变量空白也不起作用。
那么,这有什么问题呢?如何将构造函数中声明的变量用作实例变量?或者这是不可能的?为什么我不能使用构造函数中声明的字符串字或字符串空格? 谢谢。
【问题讨论】:
-
在任何函数中声明的变量都是该函数的本地变量,并且它们的范围仅在该函数中。因此,将构造函数中声明的变量用作实例变量是没有问题的。您可以在构造函数中声明实例变量并对其进行初始化。
标签: java