上面,是我的形状创建者代码,这是一部分但独立。
我收到一个错误
g2d.drawLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());
它基本上说它不能在原始类型 double 上调用 getX(),不能在原始类型 double 上调用 getY()。
我可以更改除该方法之外的任何代码。有谁知道我怎样才能摆脱这个错误,因为我不知道这意味着什么。
上面,是我的形状创建者代码,这是一部分但独立。
我收到一个错误
g2d.drawLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());
它基本上说它不能在原始类型 double 上调用 getX(),不能在原始类型 double 上调用 getY()。
我可以更改除该方法之外的任何代码。有谁知道我怎样才能摆脱这个错误,因为我不知道这意味着什么。
你p1
和p2
变量的类型是double
. 首先要做的是根据你的理解工作。编译器消息说明了您应该需要的一切:
无法在原始类型 double 上调用 getX()
这是绝对正确的- 你不能打电话getX()
。double
所以接下来你应该弄清楚你为什么要尝试跟注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);