簡體   English   中英

_____無法解析為變量

[英]_____ 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 A­Z");
    }

    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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM