http://pastebin.com/gDMy7fPw错误的Java代码行
以上,是我的一个形状创建者代码,这是一个部分,但是是独一无二的。
我得到
g2d.drawLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());
错误基本上说,这不能在基本类型双调用的getX(),无法在基本类型双调用的getY()。
我可以更改除该方法以外的任何代码。有谁知道我可以摆脱这个错误,因为我不知道它是什么意思。
http://pastebin.com/gDMy7fPw错误的Java代码行
以上,是我的一个形状创建者代码,这是一个部分,但是是独一无二的。
我得到
g2d.drawLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());
错误基本上说,这不能在基本类型双调用的getX(),无法在基本类型双调用的getY()。
我可以更改除该方法以外的任何代码。有谁知道我可以摆脱这个错误,因为我不知道它是什么意思。
您的p1
和p2
变量的类型为double
。 第一个要做的事情就是理解你的工作。编译器消息称一切你应该需要:
不能在基本类型双
这是绝对正确调用的getX() - 你不能double
打电话getX()
。所以接下来你应该努力为什么你试图打电话给getX()
。你应该不是在调用它,还是你的变量类型是错误的?
我怀疑是不是这些变量:
private double x1;
private double y1;
private double x2;
private double y2;
private double p1;
private double p2;
你真的想:
private Point p1;
private Point p2;
或者,摆脱p1
和p2
完全和您的电话更改为:
g2d.drawLine(x1, y1, x2, y2);
可能您想要使用:
g2d.drawLine(x1,y1,x2,y2);
不幸的是,我不能改变它,因为赋值规范给出以下代码public void renderShape(Graphics2D g2d){ \t \t g2d.drawLine(p1.getX(),p1.getY(), p2.getX(),p2.getY()); \t \t \t}我必须解决这个问题。 – user1351008 2012-04-23 14:57:16
+1;还要注意“无法在基本类型double上调用XYZ()”意味着您试图调用该方法的变量(在本例中,getX()和getY()不是对象,而是原始类型没有方法 – 2012-04-23 14:52:05
对于Point p1的变化,你可以安全的删除“原始类型”(像int,double,float,byte等等)或者......“你的答案的一部分,因为OP说他”可以改变除这种方法之外的任何代码“。 – dasblinkenlight 2012-04-23 14:57:18
@dasblinkenlight:我想我会留在那里为了其他人*其他thanges :) – 2012-04-23 14:58:48