以下是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;
}
}
答案 0 :(得分:3)
问题在于这两行:
jp.getX()=jp.getWidth()-10;
jp.getY()=yPos;
我认为getX
和getY
会返回一些x
和y
变量。但是,您不能以这种方式改变它们,您需要创建一个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);