[英]_____ 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.