Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java _____无法解析为变量_Java - Fatal编程技术网

Java _____无法解析为变量

Java _____无法解析为变量,java,Java,我想我快拿到了。 我的PhraseGameController类找不到“isHidden” 我的错误消息是“isHidden无法解析为变量” “无法将字母解析为变量” “PhraseGameController类型的方法isHidden()未定义 (我将评论我的问题领域) ● 通读当前短语中的每个字母 ○ 检查它是否隐藏 ○ 如果是,则将isWon设置为false。使用break退出循环 ● 返回原野 package edu.htc.java1.phrasegame; import edu

我想我快拿到了。
我的PhraseGameController类找不到“isHidden”

我的错误消息是“isHidden无法解析为变量” “无法将字母解析为变量” “PhraseGameController类型的方法isHidden()未定义 (我将评论我的问题领域)

● 通读当前短语中的每个字母

○ 检查它是否隐藏

○ 如果是,则将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;
    }
}

}您访问的方法错误

ishiden.letter
应该是
letter.ishiden()


也不要同时使用putter
=true
。首先,布尔表达式将被计算,因此您不需要将其与任何内容进行比较。其次,您应该使用==或.equals()来比较两个值,=严格用于赋值

IsHidden没有定义为变量。它是一个方法。您应该将其作为.IsHidden()调用.

你喜欢这个字母=新字母();在那个字母之后。isHidden()

包edu.htc.java1.phrasegame;
导入edu.htc.java1.phrasegame.model.*;
导入java.util.ArrayList;
公共类短语游戏控制器{
私人用语;
私人ArrayList猜测;
私人ArrayList玩家;
布尔值;字母;
PhraseGameController Player=新PhraseGameController();
public void addPlayer(字符串名称){
玩家=新玩家(姓名);
players.add(player);
}
公共布尔值isRoundWon(布尔值isWon){
isWon=真;字母=新字母();

if(letter.ishiden()=true){///看看所有这些相关的问题……这很有帮助,但它仍然说我需要为letter创建一个局部变量。它是公共的,我想可能我不明白为什么PhraseGameController类在letter类中看不到它。是的,你有一个letter类,但你实际上需要创建对象,请参见JqueryLearner的回答,这是应该提供帮助。构造函数字母()未定义。
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;
    }
}
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;
    }