public Class Point{
private double x;
private double y;
public Point() {
super();
}
public Point(double x, double y) {
super();
this.x = x;
this.y = y;
}
public static Point deepCopy(Point p2) {
Point point2 = new Point(p2.x+2, p2.y+2);
return point2;
}
public static Point shallowCopy(Point p4){
return p4;
}
public void setPoint3X(double x3) {
this.x = x+1;
}
public void setPoint3Y(double y3) {
this.y = y+1;
}
public void setPoint2(double x2, double y2) {
this.x = x2+2;
this.y = y2+2;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
@Override
public String toString() {
return "Point [x=" + x + ", y=" + y + "]";
}
public class PointDemo {
public static void main(String[] args) {
double x = 0;
double y = 0;
Point point1 = new Point(5, 10);
Point point2 = Point.deepCopy(point1);
Point point3 = Point.deepCopy(point2);
point3.setPoint3X(x);
point3.setPoint3Y(y);
Point point4 = new Point();
point4 = Point.shallowCopy(point3);
问题 4 - 编写一个名为 Point 的类。该类有两个实例字段:x 和 y,都是 double 类型。编写两个构造函数:一个使用 x 和 y 值作为一个点,另一个使用第一个点值创建具有完全相同 x 和 y 值的第二个 Point 对象。编写一个 Demo 类来构建以下四个 Point 对象。
第 1 点:(x=5,y=10)
第 2 点:(x=7,x=12)。该点需要使用复制点 1 的深拷贝构造函数来构建,然后仅使用一个 setter 方法。
第 3 点:(x=10,y=15)。该点需要使用深度复制方法构建,该方法使用点 2 作为原始值,然后使用两个 setter 方法更改所需的 x 和 y 值。
第4点:这个点需要使用浅拷贝的方式构建,并且必须使用第3点作为浅拷贝模板。
最后使用一个语句打印所有四个点。
好的。因此,我的代码为我提供了 point1-point4 中的所有值,但是,我无法想出一种方法将它们全部打印在一个语句中。显然,演示类中的循环可以打印每个 Point 对象,但这将是多个打印语句,这违反了一个打印语句的要求。
另外,我不能在 Point 类中使用数组,因为它违反了 2 个字段的要求。
关于如何获取所有 Point 对象并将其打印在一个语句中,任何人都可以帮助或给我建议吗?或者这是可能的,也许我读错了问题?
千巷猫影
RISEBY
长风秋雁
相关分类