java参考上述两个程序,请你设计一个点类(Point),其属性包括横坐标和纵坐标,方法包括计算点所在象限getQuadrant、两点之间距离calDistance(小数部分四舍五入)。在Main类中对Point类的两个方法进行测试。输入两点坐标,输出它们的象限和距离。本题不考虑原点。 输入:两行,分别表示两个点的横坐标、纵坐标
输出:一行三个数值:两个点的象限,两点之间距离(保留0位小数)
样例输入 Copy
1 2
3 4
样例输出 Copy
1 1 3
6条回答 默认 最新
- Taylor 淡定哥 2023-02-25 09: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() 方法根据两点的坐标差来计算它们之间的距离,即
√(x1−x2)2+(y1−y2)2
其中 $x_1$、$y_1$ 是第一个点的坐标,$x_2$、$y_2$ 是第二个点的坐标。最后使用 Math.round() 方法将结果四舍五入到整数。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用