[英]_____ Cannot be resolved to a variable
我想我差不多了。
我的PhraseGameController类未找到“ isHidden”
我的错误消息是“ isHidden无法解析为变量”“字母无法解析为变量”“对于类型为PhraseGameController的方法isHidden()未定义(我将在问题区域中进行注释)
●浏览currentPhrase中的每个字母
○检查是否隐藏
○如果是,请将isWon设置为false。 使用break退出循环。
●返回赢
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;
}
}
和
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;
}
}
}
您访问方法错误。
isHidden.letter
应该是letter.isHidden()
也不要同时推杆都= true
。 首先,无论如何都会对布尔表达式进行求值,因此您无需将其与任何事物进行比较。 其次,您应该使用==或.equals()比较两个值,=严格用于赋值
IsHidden未定义为变量。 这是一种方法。 您应该将其调用为.isHidden()。
喜欢这个Letter letter = new Letter(); 在那封信之后。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.