[英]_____ Cannot be resolved to a variable
I think I almost have it. 我想我差不多了。
My PhraseGameController Class is not finding "isHidden" 我的PhraseGameController类未找到“ isHidden”
My error messages are "isHidden cannot be resolved to a variable" "letter cannot be resolved to a variable" "The method isHidden() is undefined for the type PhraseGameController (I will comment my problem areas) 我的错误消息是“ isHidden无法解析为变量”“字母无法解析为变量”“对于类型为PhraseGameController的方法isHidden()未定义(我将在问题区域中进行注释)
● Go through each Letter in the currentPhrase ●浏览currentPhrase中的每个字母
○ Check to see if it is hidden ○检查是否隐藏
○ If it is, set isWon to false. ○如果是,请将isWon设置为false。 Use break to exit the loop.
使用break退出循环。
● Return isWon ●返回赢
package edu.htc.java1.phrasegame;
import edu.htc.java1.phrasegame.model.*;
import java.util.ArrayList;
public class PhraseGameController {
private Phrase currentPhrase;
private ArrayList<Character> guessed;
private ArrayList<Player> players;
boolean isRoundWon;Letter letter;
PhraseGameController Player = new PhraseGameController();
public void addPlayer(String name) {
Player player= new Player(name);
players.add(player);
}
public boolean isRoundWon(boolean isWon) {
isWon = true;
letter=new Letter();
if(letter.isHidden() = true) { ///<<<< Problem area, isHidden
isWon = false;
break;
} else if { (letter.isHidden() = false); ///<<<< Problem area, isHidden
isWon = true;
return isWon;
break;
}
public ArrayList<Player> getPlayers() {
return players;
}
public boolean doPlayerGuess(Character play) {
Character guess = Character.toUpperCase(play);
if(guessed.contains(play)){
throw new IllegalStateException("the letter was already guessed");
} else if (!String.valueOf(play).matches("[A-Z]")) {
throw new IllegalStateException("the guess should be a letter from AZ");
}
guessed.add(guess);
return currentPhrase.guessLetter(guess);
}
public PhraseGameController(){
currentPhrase = new Phrase("This is only a test");
guessed = new ArrayList<Character>();
}
public Phrase getCurrentPhrase() {
return currentPhrase;
}
public void setCurrentPhrase(Phrase currentPhrase) {
this.currentPhrase = currentPhrase;
}
public void setGuessedLetters(ArrayList<Character> guessed) {
this.guessed = guessed;
}
public ArrayList<Character> getGuessedLetters() {
return guessed;
}
}
and
和
package edu.htc.java1.phrasegame.model;
public class Letter {
public char letter;
public boolean isHidden;
public char getLetter() {
return letter;
}
public boolean isHidden() {
return isHidden;
}
public void unhide() {
isHidden = false;
}
public Letter(char letter) {
this.letter = letter;
if (String.valueOf(letter).matches("[A-Z]")) {
isHidden = true;
}
}
} }
You're accessing methods wrong. 您访问方法错误。
isHidden.letter
should be letter.isHidden()
isHidden.letter
应该是letter.isHidden()
Also don't both putter = true
. 也不要同时推杆都
= true
。 Firstly, boolean expressions will be evaluated anyway so you don't need to compare it to anything. 首先,无论如何都会对布尔表达式进行求值,因此您无需将其与任何事物进行比较。 Secondly, you should be using == or .equals() to compare two values, = is strictly for assignments
其次,您应该使用==或.equals()比较两个值,=严格用于赋值
IsHidden is not defined as a variable. IsHidden未定义为变量。 It is a method.
这是一种方法。 You should it call as .isHidden().
您应该将其调用为.isHidden()。
do like this Letter letter=new Letter(); 喜欢这个Letter letter = new Letter(); and after that letter.isHidden()
在那封信之后。isHidden()
package edu.htc.java1.phrasegame;
import edu.htc.java1.phrasegame.model.*;
import java.util.ArrayList;
public class PhraseGameController {
private Phrase currentPhrase;
private ArrayList<Character> guessed;
private ArrayList<Player> players;
boolean isRoundWon;Letter letter;
PhraseGameController Player = new PhraseGameController();
public void addPlayer(String name) {
Player player= new Player(name);
players.add(player);
}
public boolean isRoundWon(boolean isWon) {
isWon = true;letter=new Letter();
if(letter.isHidden() = true) { ///<<<< Problem area, isHidden
isWon = false;
break;
} else if { (letter.isHidden() = false) ///<<<< Problem area, isHidden
isWon = true;
return isWon;
break;
}
public ArrayList<Player> getPlayers() {
return players;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.