2301_76702529 2023-03-26 05:20 采纳率: 75%
浏览 403
已结题

java 程序语言 二维空间

定义一个二维空间的点类,具体要求:

构造方法:

没有指定点的坐标,创建一个位于原点的对象

指定一个横坐标,创建一个位于第一、三象限对角线上的点

指定横坐标和纵坐标,创建一个位于指定坐标的点

属性:横坐标和纵坐标两个属性,都为整数

行为: 计算到指定点的距离

指定一个点时,计算当前点对象到该点的距离,指定点可以是一个点对象,也可以通过横坐标和纵坐标给出

指定两个点时,计算这两个点之间的距离。

定义一个测试类用于测试上面定义的Point类,测试类中试用上面不同的构造方法创建多个点对象,并调用Point类不同的distance方法计算两个点之间的距离。

  • 写回答

3条回答 默认 最新

  • 海洋 之心 2022年度博客之星人工智能领域TOP 1 2023-03-26 09:51
    关注

    博主尝试一下如下的代码是否符合您的要求:


    public class Point {
        private int x;
        private int y;
    
        // 构造方法
        public Point() {
            this(0, 0);
        }
    
        public Point(int x) {
            this(x, x);
        }
    
        public Point(int x, int y) {
            this.x = x;
            this.y = y;
        }
    
        // 计算到指定点的距离
        public double distance(Point p) {
            int dx = x - p.x;
            int dy = y - p.y;
            return Math.sqrt(dx * dx + dy * dy);
        }
    
        public double distance(int x, int y) {
            return distance(new Point(x, y));
        }
    
        // 计算两个点之间的距离
        public static double distance(Point p1, Point p2) {
            return p1.distance(p2);
        }
    
        // getter 和 setter 方法
        public int getX() {
            return x;
        }
    
        public void setX(int x) {
            this.x = x;
        }
    
        public int getY() {
            return y;
        }
    
        public void setY(int y) {
            this.y = y;
        }
    }
    

    以下是一个测试类的实现,用于测试 Point 类的不同构造方法和 distance 方法:

    public class TestPoint {
        public static void main(String[] args) {
            // 创建多个点对象并计算它们之间的距离
            Point p1 = new Point(); // (0, 0)
            Point p2 = new Point(3); // (3, 3)
            Point p3 = new Point(1, 2); // (1, 2)
            Point p4 = new Point(4, 5); // (4, 5)
    
            System.out.println("p1 和 p2 之间的距离:" + p1.distance(p2));
            System.out.println("p2 和 p3 之间的距离:" + p2.distance(p3));
            System.out.println("p3 和 p4 之间的距离:" + Point.distance(p3, p4));
            System.out.println("p4 和 (0, 0) 之间的距离:" + p4.distance(0, 0));
        }
    }
    

    以上代码中,我们通过创建不同的 Point 对象,并使用不同的参数来调用它们的 distance 方法,计算了它们之间的距离。此外,我们还使用了静态的 distance 方法,计算了两个指定点之间的距离。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 创建了问题 3月26日