题目
设计名为MyPoint的类表示一个具有x坐标和y坐标的点,该类包括:
•两个数据域x和y表示坐标;
•无参构造方法创建点(0,0);
•一个构造方法根据指定坐标创建一个点;
•两个get方法分别得到数据域x和y;
•distance方法返回MyPoint类型的两个点之间的距离;
•distance方法返回从这一点到另一个指定x和y坐标的点之间的距离;
编写测试程序创建两个点(0,0)和(10,30.5),并显示它们之间的距离.
答案解析
查看更多优质解析
举报
哈哈,小伙愁了把,两点距离这个就要用到数学的直角三角形的一个算法了,
直角三角形的公式:直角边A的平方 + 直角边B的平方 = 斜边C的平方
可以算出:
10 - 0 = 10 (直角边A)
a点的x坐标 - b点的x坐标 = a点到b点的横向直线距离 (直角边A)
30.5 - 0 = (直角边B)
a点的y坐标 - b点的y坐标 = a点到b点的竖向直线距离 (直角边B)
java的API有开平方方法 java.lang.Math.sqrt() 这个就是开平方
编程写法:
double x1=0,y1=0,x2=10,y2=30.5;
double temp_A,temp_B;
double C; // 用来储存算出来的斜边距离
temp_A = x1>x2 (x1-x2) :(x2-x1); // 横向距离 (取正数,因为边长不能是负数)
temp_B = y1>y2 (y1-y2) :(y2-y1); // 竖向距离 (取正数,因为边长不能是负数)
C=java.lang.Math.sqrt(temp_A*temp_A + temp_B*temp_B); // 计算
最后算出来的C的值 就是斜边距离
解析看不懂?免费查看同类题视频解析
查看解答
相似问题
二维码
回顶部