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 для точки, а другой использует значения первой точки для создания второго объекта Point с точно такими же значениями x и y.Напишите демонстрационный класс для построения следующих четырех объектов Point.
Точка 1: (x = 5, y = 10)
Точка 2: (x = 7, x = 12).Эта точка должна быть построена с использованием конструктора глубокого копирования, который копирует точку 1, а затем с использованием только одного метода установки.
Точка 3: (х = 10, у = 15).Эта точка должна быть построена с использованием метода глубокого копирования, который использует точку 2 в качестве оригинала, а затем с помощью двух методов установки для изменения требуемых значений x и y.
Точка 4: Эта точка должна быть построена с использованием метода мелкой копии, и она должна использовать Точку 3 в качестве шаблона мелкой копии.
Наконец, выведите все четыре точки, используя one Statement .
Хорошо.Так что мой код дает мне все значения из point1-point4, однако я не могу найти способ вывести их все в одном выражении.Очевидно, что цикл в демонстрационном классе может печатать каждый объект Point, но это будет несколько операторов print, что нарушает требование одного оператора print.
Кроме того, я не могу использовать массив в классе Point, потому что он нарушает требование 2 полей.
Может кто-нибудь помочь или дать мне совет относительно того, как я могу взять все объекты Point и напечатать его в одном утверждении?Или это вообще возможно, а может я неправильно читаю вопрос?