java_定义⼀个Point 类,包含 double x,y,z 变量,并包含double distance()函数来计算该点到原点的距离。初始化⼀个包含 5 个点的数组, 重写compareTo(E

package experiment4.exp4;
/*定义⼀个Point 类,包含 double x,y,z 变量,
并包含double distance()函数来计算该点到原点的距离。
*/
public class Point implements Comparable<Point> {
double x,y,z;
double distance(){
return Math.sqrt(x*x+y*y+z*z);
}
Point(double x_,double y_,double z_){
x=x_;y=y_;z=z_;
}
@Override
public int compareTo(Point o) {
if(this.distance()>o.distance()){
return 1;
}
else if(this.distance()==o.distance()){
return 0;
}
else{
return -1;
}
/*return this.distance-o.distance;*/
}
}
package experiment4.exp4;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/*初始化⼀个包含 5 个点的数组,
重写compareTo(E)方法对数组元素根据到原点的距离进⾏排序。
List<Point> lst=new ArrayList<Point>();
Point p1=new Point(10, 5, 7);
Point p2=new Point(6, 15, 12);
Point p3=new Point(3, 7, 6);
Point p4=new Point(24, 15, 16);
Point p5=new Point(31, 17, 26);
*/
public class DemoPoint {
public static void main(String []args){
List<Point> lst=new ArrayList<Point>();
Point p1=new Point(10, 5, 7);
Point p2=new Point(6, 15, 12);
Point p3=new Point(3, 7, 6);
Point p4=new Point(24, 15, 16);
Point p5=new Point(31, 17, 26);
lst.add(p1);
lst.add(p2);
lst.add(p3);
lst.add(p4);
lst.add(p5);
Collections.sort(lst);
for(int i = 0;i<5;i++){
System.out.println(lst.get(i).distance());
}
/*System.out.println(lst);*/
}
}
posted @   xuchaoxin1375  阅读(8)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-10-22 java_根据指定分隔符,以该种分隔符作为每一行字符串的结尾来分行(比如处理环境变量)
点击右上角即可分享
微信分享提示