Java意外类型错误

时间:2015-06-11 00:37:25

标签: java

以下是applet中游戏的一段代码。我收到了错误消息: 意外的类型 所需的变量找到值。 实际上错误是因为我在方法重绘中的分配,但它应该如何? 任何帮助将不胜感激。

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;
    }
}

2 个答案:

答案 0 :(得分:3)

问题在于这两行:

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;

错误消息“required variable,found value”指的是getX返回的内容。赋值的左侧必须是保存值的变量,但在您的情况下,它是一个值(由getter返回),因此是错误消息。

答案 1 :(得分:1)

您无法为方法调用分配值。将repaint()更改为以下内容:

jp.setX(jp.getWidth()-10);
jp.setY(yPos);