class Spot {
    private double x, y;

    Spot(double u, double v) {
        setX(u);
        setY(v);
    }

    void setX(double x1) {
        x = x1;
    }

    void setY(double y1) {
        y = y1;
    }

    double getX() {
        return x;
    }

    double getY() {
        return y;
    }

    Spot midSpot(Spot s) {
        double midX = (this.x + s.getX()) / 2;
        double midY = (this.y + s.getY()) / 2;
        return new Spot(midX, midY);
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double x1 = scanner.nextDouble();
        double y1 = scanner.nextDouble();
        double x2 = scanner.nextDouble();
        double y2 = scanner.nextDouble();
        Spot spot1 = new Spot(x1, y1);
        Spot spot2 = new Spot(x2, y2);
        Spot midPoint = spot1.midSpot(spot2);
        System.out.println('中点的坐标:' + midPoint.getX() + ',' + midPoint.getY());
    }
}

题目分析

本题要求编写一个Java程序,计算两点中点的坐标。程序需要读取用户输入的两个点的坐标,然后计算并输出中点的坐标。

代码解释

  • Spot 类:
    • 包含两个私有成员变量 xy,分别表示点的横坐标和纵坐标。
    • 包含构造函数 Spot(double u, double v),用于创建 Spot 对象并初始化其坐标。
    • 包含 setX()setY() 方法,用于设置点的坐标。
    • 包含 getX()getY() 方法,用于获取点的坐标。
    • 包含 midSpot(Spot s) 方法,用于计算当前点与另一个点 s 的中点坐标,并返回一个新的 Spot 对象表示中点。
  • Main 类:
    • 包含 main() 方法,程序的入口点。
    • main() 方法中,首先创建 Scanner 对象用于读取用户输入。
    • 然后,读取用户输入的两个点的坐标,并创建两个 Spot 对象 spot1spot2 表示这两个点。
    • 接着,调用 spot1midSpot() 方法计算中点坐标,并将结果存储在 midPoint 对象中。
    • 最后,输出中点的坐标。

示例输入

3.5 7.5
8.0 2.0

示例输出

中点的坐标:5.75,4.75
Java编程练习题:计算两点中点

原文地址: https://www.cveoy.top/t/topic/R78 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录