繁体   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