java参考上述两个程序,请你设计一个点类(Point),其属性包括横坐标和纵坐标,方法包括计算点所在象限getQuadrant、两点之间距离calDistance(小数部分四舍五入)。在Main类中对Point类的两个方法进行测试。输入两点坐标,输出它们的象限和距离。本题不考虑原点。 输入:两行,分别表示两个点的横坐标、纵坐标
输出:一行三个数值:两个点的象限,两点之间距离(保留0位小数)
样例输入 Copy
1 2
3 4
样例输出 Copy
1 1 3
java求点的象限和点的距离
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- Taylor 淡定哥 2023-02-25 17:40关注
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Point p1 = new Point(scanner.nextDouble(), scanner.nextDouble()); Point p2 = new Point(scanner.nextDouble(), scanner.nextDouble()); int quadrant1 = p1.getQuadrant(); int quadrant2 = p2.getQuadrant(); double distance = p1.calDistance(p2); System.out.println(quadrant1 + " " + quadrant2 + " " + Math.round(distance)); } } class Point { private double x; private double y; public Point(double x, double y) { this.x = x; this.y = y; } public int getQuadrant() { if (x > 0 && y > 0) { return 1; } else if (x < 0 && y > 0) { return 2; } else if (x < 0 && y < 0) { return 3; } else if (x > 0 && y < 0) { return 4; } else { return 0; } } public double calDistance(Point p) { double dx = x - p.getX(); double dy = y - p.getY(); return Math.sqrt(dx * dx + dy * dy); } public double getX() { return x; } public double getY() { return y; } }
1.首先在主函数中创建两个 Point 对象 p1 和 p2,并分别从标准输入中读取两个点的坐标。
2.然后分别调用 p1 和 p2 的 getQuadrant() 方法,得到两个点所在的象限。
3.接着调用 p1 的 calDistance() 方法,计算两个点之间的距离,并将其四舍五入到整数。
4.最后将三个数值依次输出即可。注:calDistance() 方法根据两点的坐标差来计算它们之间的距离,即
$$\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}$$
其中 $x_1$、$y_1$ 是第一个点的坐标,$x_2$、$y_2$ 是第二个点的坐标。最后使用 Math.round() 方法将结果四舍五入到整数。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题