用java编写一个程序,在Intellij IDEA的环境下,实现以下条件:(1) 定义一个名为Point的模拟平面坐标的一个点。一个 点可用x和y坐标来描述:(2) 为该类定义一个无参构造方法,用它来创建坐标原点;定义一个带两个参数的构造方法,用它来创建任意点(3) 为该类定义两个重载的方法: 分别计算点到原点的距离和任意两点的距离,格式如下: public double distance( ); public double distance(Point p); (4) 为该类定义两个重载的move方法,用于将点移动一个新的位置,格式如下: public Point move(double x, double y);public Point move(Point p); (5) 写一个测试类,在其main()方法中声明两个Point变,start使用无参构造方法创建,end使用量(start和end)有参构造方法创建,、测试distance方法,并输出所求距离,以及测试move方法,并输出移动后点的坐标。
时间: 2023-06-13 15:05:42 浏览: 66
以下是实现上述要求的程序:
Point.java
```java
public class Point {
private double x;
private double y;
// 无参构造方法,创建坐标原点
public Point() {
x = 0;
y = 0;
}
// 带两个参数的构造方法,创建任意点
public Point(double x, double y) {
this.x = x;
this.y = y;
}
// 计算点到原点的距离
public double distance() {
return Math.sqrt(x * x + y * y);
}
// 计算任意两点的距离
public double distance(Point p) {
double dx = x - p.x;
double dy = y - p.y;
return Math.sqrt(dx * dx + dy * dy);
}
// 将点移动到一个新的位置
public Point move(double x, double y) {
return new Point(this.x + x, this.y + y);
}
// 将点移动到另外一个点的位置
public Point move(Point p) {
return new Point(this.x + p.x, this.y + p.y);
}
// 获取点的x坐标
public double getX() {
return x;
}
// 获取点的y坐标
public double getY() {
return y;
}
}
```
TestPoint.java
```java
public class TestPoint {
public static void main(String[] args) {
Point start = new Point(); // 创建坐标原点
Point end = new Point(3, 4); // 创建任意点
double distance1 = end.distance(); // 计算点到原点的距离
double distance2 = start.distance(end); // 计算任意两点的距离
System.out.println("点到原点的距离为:" + distance1);
System.out.println("两点之间的距离为:" + distance2);
Point moved1 = start.move(1, 2); // 将点移动到一个新的位置
Point moved2 = end.move(start); // 将点移动到另外一个点的位置
System.out.println("移动后点的坐标为:(" + moved1.getX() + ", " + moved1.getY() + ")");
System.out.println("移动后点的坐标为:(" + moved2.getX() + ", " + moved2.getY() + ")");
}
}
```
运行TestPoint.java,输出如下:
```
点到原点的距离为:5.0
两点之间的距离为:5.0
移动后点的坐标为:(1.0, 2.0)
移动后点的坐标为:(3.0, 4.0)
```