Java问题应该如何解答

设计一个名为Point的类表示点。这个类包括:

a) 2个私有的int类型的成员变量x、y,分别表示x和y坐标;

b) 1个不带参数的构造方法;

c) 1个带参数的构造方法,方法头如下,注意方法参数名称与成员变量名称相同:

public Point(int x, int y)

d) 1个movePoint(int dx, int dy)方法实现点的位置移动;

e) 使用不带参数的构造方法创建Point对象p1;使用带参数的构造方法创建Point对象p2,要求用户输入p2的坐标,分别调用movePoint方法后,输出p1和p2经过位置移动之前和之后的坐标,要求用户输入在x方向和y方向要移动的距离。

img

代码:

package test;

import java.util.Scanner;

public class Point {
    private int x = 0;
    private int y = 0;

    public Point(int x, int y) {
        super();
        this.x = x;
        this.y = y;
    }

    public Point() {
        super();
    }

    public void movePoint(int dx, int dy) {
        this.x += dx;
        this.y += dy;
    }

    public int getX() {
        return x;
    }

    public int getY() {
        return y;
    }

    public static void main(String[] args) {
        Point p1 = new Point();
        Point p2 = new Point(9, 2);
        System.out.println("p1移动前的坐标:" + p1.getX() + "," + p1.getY());
        System.out.println("请输入p1要移动的坐标");
        Scanner scanner = new Scanner(System.in);
        int dx = scanner.nextInt();
        int dy = scanner.nextInt();
        p1.movePoint(dx, dy);
        System.out.println("p1移动后坐标是:" + p1.getX() + "," + p1.getY());
        
        System.out.println("p2移动前的坐标:" + p2.getX() + "," + p2.getY());
        System.out.println("请输入p2要移动的坐标");
        dx = scanner.nextInt();
        dy = scanner.nextInt();
        p2.movePoint(dx, dy);
        System.out.println("p2移动后坐标是:" + p2.getX() + "," + p2.getY());
    }

}

效果:

img

,请参考,望采纳,谢谢