用java语言封装点Point类和线段Line,点有x,y属性;线段有起点和终点,主程序中创优两个点,用这两个点创建一条线段,输出线段的长度。要求:类封装完整,结果输出正确
时间: 2024-09-21 10:04:06 浏览: 16
在Java中,我们可以创建`Point`类表示二维坐标系中的点,并创建`Line`类表示由两个点确定的一条线段。以下是类的简单实现:
```java
// Point类
public class Point {
private double x;
private double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
// 获取和设置x、y值的方法
public double getX() { return x; }
public double getY() { return y; }
public void setX(double x) { this.x = x; }
public void setY(double y) { this.y = y; }
// 计算两点之间的距离,作为点的"长度"
@Override
public String toString() {
return "Point{" + "x=" + x + ", y=" + y + '}';
}
}
// Line类
public class Line {
private Point start;
private Point end;
public Line(Point start, Point end) {
this.start = start;
this.end = end;
}
// 设置和获取线段起点和终点
public Point getStart() { return start; }
public Point getEnd() { return end; }
public void setStart(Point start) { this.start = start; }
public void setEnd(Point end) { this.end = end; }
// 线段长度计算
public double length() {
return Math.sqrt(Math.pow(end.getX() - start.getX(), 2) + Math.pow(end.getY() - start.getY(), 2));
}
@Override
public String toString() {
return "Line{" +
"start=" + start +
", end=" + end +
", length=" + length() +
'}';
}
}
public class Main {
public static void main(String[] args) {
// 创建两个点
Point p1 = new Point(0, 0);
Point p2 = new Point(3, 4);
// 创建并初始化线段
Line line = new Line(p1, p2);
// 输出线段长度
System.out.println("线段长度: " + line.length());
}
}
```
在这个例子中,我们通过`length()`方法计算了线段的长度,然后在`main`方法中创建了两个点并创建了一条线段,最后输出了线段的长度。