Java行代码出错

use*_*008 0 java line

http://pastebin.com/gDMy7fPw

上面,我的形状创建者的代码,这是一个部分,但独立.

我收到错误

g2d.drawLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());
Run Code Online (Sandbox Code Playgroud)

这基本上说它不能在基本类型double上调用getX(),不能在基本类型double上调用getY().

我可以更改除该方法之外的任何代码.有谁知道我怎么能摆脱那个错误,因为我不知道这意味着什么.

Jon*_*eet 7

p1p2变量属于类型double.在第一个要做的事情是在你的理解的工作.编译器消息说明您应该需要的所有内容:

无法在基本类型double上调用getX()

这是绝对正确的-你不能调用getX()double.接下来你应该弄清楚为什么你要打电话getX().你不应该打电话,或者你的变量类型错了吗?

怀疑这不是这些变量:

private double x1;
private double y1;
private double x2;
private double y2;
private double p1;
private double p2;
Run Code Online (Sandbox Code Playgroud)

你真的想要:

private Point p1;
private Point p2;
Run Code Online (Sandbox Code Playgroud)

另外,摆脱的p1p2完全,并更改您的来电:

g2d.drawLine(x1, y1, x2, y2);
Run Code Online (Sandbox Code Playgroud)