java - Player 中的 setPlayerHp() 不能应用于整数

标签 java android class integer

我正在为我的类(class)编写一个文本冒险应用程序,并且遇到了此错误。我有一个名为 Player 的类,具有三个关联变量(playerPos、playerHP 和playerInv[])

当我尝试从 Player 类获取或设置 playerHP 的值时,我得到以下信息:

“get/setPlayerHP 无法应用于 (int)”

我很困惑为什么。有什么建议吗?

    public class Player {

    private int playerPos;
    private int playerHP;
    private String playerInv[];

    Player(int startPos, int startHP, String[] newInventory[])
    {
        playerPos = startPos;
        playerHP = startHP;
        playerInv = newInventory[10];
    }

    public int getPlayerPos() {
        return playerPos;
    }

    public void setPlayerPos(int playerPos) {
        this.playerPos = playerPos;
    }

    public int getPlayerHP(){
        return playerHP;
    }

    public void setPlayerHP(){
        this.playerHP = playerPos;
    }

    public String setPlayerInv() {
        return playerInv[10];
    }

    public void setPlayerInv(String inventory) {
        for (int i=0; i<10; i++)
        {
            this.playerInv[i] = playerInv[i];
        }
    }
}

这是我尝试使用它的实例:

    public void PyrronQ1()
{
    answerButton.setEnabled(true);
    questionText.setText("What is my favourite colour?");
    answerButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v)
        {
            if (answerText.getText().toString() == "Red")
            {
                PyrronQ2();
            }
            else
            {
                thePlayer.setPlayerHP(thePlayer.getPlayerHP() -20);
                if (thePlayer.getPlayerHP() <= 0)
                {
                    thePlayer.setPlayerPos(0);
                    setupControls();
                    RoomText.setText(thedungeon[thePlayer.getPlayerPos()].getName());
                    setupDirectionButtons();
                    thePlayer.setPlayerHP(100);


                }
            }
        }

最佳答案

您定义了一个不带参数的方法:

public void setPlayerHP(){
    this.playerHP = playerPos;
}

因此尝试将整数传递到此方法中将不会执行任何操作。

您可能想向此方法添加一个参数,例如:

public void setPlayerHP(int hp) {
    // ...
}

关于java - Player 中的 setPlayerHp() 不能应用于整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34794763/

相关文章:

java - 在代码 Java 中的正确位置将数组设置为 null

css - Selenium IDE - 验证类的值

java - 帮助理解 jstack 输出

java - 使用 Eclipse 和 OSGi 将类动态加载到 Java 类路径

android - 数据没有加载,也没有错误或警告显示

java - 让类(class)相互交换信息的最佳方式?

java - 按钮只打印一个数字

java - HashMap 和类

android - 如何从 Activity 调用另一个 Activity 中的方法

android - 由于数字 Assets 链接,Google Play 不接受即时应用