以下是小程序中的一段游戏代码,但出现错误:
意外类型
所需变量的发现值。
实际上,该错误是由于我在方法重绘中所分配的,但是应该怎么办?
任何帮助将非常感激。

public class subclass of JApplet{
    JApplet jp;
    int yPos=230;
    public void check{

        if(jp.getX()>160 && jp.getY()<200)
            repaint();
    }

    public void repaint(){
        jp.getX()=jp.getWidth()-10;
        jp.getY()=yPos;
    }
}

最佳答案

问题在于这两行:

jp.getX()=jp.getWidth()-10;
jp.getY()=yPos;

我假设getXgetY返回一些xy变量。但是,您不能以这种方式进行更改,需要创建一个setter方法或直接对其进行访问并进行修改。

就像是 :
public void setX(int x)
{
    this.x = x;
}

那你会做
jp.setX(someValue);

或者,如果该字段不是私有的,则可以直接执行以下操作:
jp.x = someValue;

错误消息“必需变量,找到的值”是指getX返回的内容。赋值的左侧必须是一个变量以保存该值,但是在您的情况下,它是一个值(由getter返回),因此会出现错误消息。

10-04 20:28