设计一个名为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方向要移动的距离。
代码:
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());
}
}
效果: