用Java实现定义Point类,每个点包含(x,y)坐标,利用随机函数产生10个点的(x,y)值,将创建的 Point实例存入一个数组中,按与原点(0,0)的距离由小到大的顺序输出所有的点及到原点的距离。
时间: 2024-02-24 15:57:35 浏览: 103
好的,我来给您提供Java代码实现:
```java
import java.util.Arrays;
import java.util.Random;
public class Point implements Comparable<Point> {
private int x;
private int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public double distance() {
return Math.sqrt(x * x + y * y);
}
@Override
public int compareTo(Point o) {
return Double.compare(this.distance(), o.distance());
}
@Override
public String toString() {
return "(" + x + "," + y + ")";
}
public static void main(String[] args) {
Point[] points = new Point[10];
Random random = new Random();
for (int i = 0; i < 10; i++) {
int x = random.nextInt(100);
int y = random.nextInt(100);
points[i] = new Point(x, y);
}
Arrays.sort(points);
for (Point p : points) {
System.out.println(p + " distance: " + p.distance());
}
}
}
```
这里定义了一个Point类,包含x和y两个坐标,以及计算与原点之间距离的distance()方法。为了方便排序,实现了Comparable接口,按照与原点距离由小到大的顺序进行排序。在main方法中,利用随机函数生成10个点的坐标,存入Point数组中,然后对数组进行排序,最后按照顺序输出每个点及其到原点的距离。
阅读全文
相关推荐

















