Java 用刽子手说话
我有一个名为Letter的类,它有两个参数:Java 用刽子手说话,java,oop,Java,Oop,我有一个名为Letter的类,它有两个参数: Letter(char chr, boolean Guessed) 当我运行我的主要方法Hangman问题时,如果猜测的单词是正确的,我希望能够将猜测的布尔值更改为true。 我有一个能手和一个二传手 在我的刽子手游戏中,我希望能够打印出在适当位置猜到的单词 示例:如果word是java,那么如果有人猜到“a”,我希望程序打印出来 _a uA 我不知道该怎么做。我知道如何切换变量的布尔值,但我不确定如何更新打印部分 我是否需要创建一个新字符串,以便
Letter(char chr, boolean Guessed)
当我运行我的主要方法Hangman问题时,如果猜测的单词是正确的,我希望能够将猜测的布尔值更改为true。
我有一个能手和一个二传手
在我的刽子手游戏中,我希望能够打印出在适当位置猜到的单词
示例:如果word是java,那么如果有人猜到“a”,我希望程序打印出来
_a uA
我不知道该怎么做。我知道如何切换变量的布尔值,但我不确定如何更新打印部分
我是否需要创建一个新字符串,以便保存以前更新过的值
private boolean isGuessRight(char chr){
for (int i = 0 ; i < word.length() ; i++){
if (word.charAt(i) == chr && Letter.getRevealed() == false){
Letter.reveal();
return true;
}
else if (word.charAt(i) == chr && Letter.getRevealed()){
return false;
}
}
}
private boolean-isGuessRight(char-chr){
for(int i=0;i
我也很难弄明白为什么java告诉我不能调用Letter.reveal()方法。reveal()是子类字母中的一个非静态方法,我觉得这样做不会有任何问题
提前谢谢 类字母{
class Letter {
char c;
boolean isRevealed;
//... getters and setters
}
Letter[] word = new Letter[MAX_WORD_LENGTH];
private boolean isGuessRight(char chr){
for (int i = 0 ; i < word.length ; i++){
if (word[i].getChar() == chr && word[i].getRevealed() == false){
word[i].reveal();
return true;
}
else if (word[i] == chr && word[i].getRevealed()){
return false;
}
}
}
字符c;
布尔值被删除;
//…能手和二传手
}
字母[]单词=新字母[最大单词长度];
私有布尔值isGuessRight(char-chr){
for(int i=0;i
虽然它是一个非静态方法,但您正在静态地调用它。您应该从word中获取letter实例,然后在同一个类上调用该方法。在您的示例中,这些方法属于一个类,并且是使用letter.reveal()
调用的。如果您正在引用其中一个字母,并且您的方法isGuessRight
在Letter
类中,则应使用this.get启示()
和this.启示()
@dinomario10我的方法isGuessRight不在Letter类中。。那么,我是否应该用isGuessRight方法初始化类字母?@rahulroc Letter l=新字母('a',false)是否需要这样做?完全正确。字母A=新字母('A',假)。创造了一个答案来举例说明。