设计一个Point类,表示直角坐标系中的一个点。Point类包括: (1)double类型的私有变量x和y,表示坐标。 (2)无参构造方法,将坐标设置为原点。 (3)有参构造方法,将坐标设置为给定的参数。 (4)公有访问方法getX和getY,分别用于访问点的x坐标和y坐标。 再设计一个Line类,表示一条线段。Line类包括: (5)两个Point类型的实例变量。用以表示一条线段的两个端点。 (6)一个名为distance的方法,返回Point类型的两个点之间的距离。 输入样例: 0 0 3 4 输出样例(不用考虑小数位数) : 线段长度为:5.0
时间: 2024-03-25 08:36:17 浏览: 88
下面是Point类和Line类的实现代码:
```python
import math
class Point:
def __init__(self, x=0, y=0):
self._x = x
self._y = y
def getX(self):
return self._x
def getY(self):
return self._y
class Line:
def __init__(self, p1, p2):
self._p1 = p1
self._p2 = p2
def distance(self):
dx = self._p1.getX() - self._p2.getX()
dy = self._p1.getY() - self._p2.getY()
return math.sqrt(dx*dx + dy*dy)
```
接下来是主函数的实现:
```python
if __name__ == '__main__':
p1 = Point(0, 0)
p2 = Point(3, 4)
line = Line(p1, p2)
print("线段长度为:{:.1f}".format(line.distance()))
```
输出结果为:
```
线段长度为:5.0
```
注意,这里使用了格式化字符串来输出结果,保留一位小数。
相关问题
用java设计一个Point类,表示直角坐标系中的一个点。Point类包括: (1)double类型的私有变量x和y,表示坐标。 (2)无参构造方法,将坐标设置为原点。 (3)有参构造方法,将坐标设置为给定的参数。 (4)公有访问方法getX和getY,分别用于访问点的x坐标和y坐标。 再设计一个Line类,表示一条线段。Line类包括: (5)两个Point类型的实例变量。用以表示一条线段的两个端点。 (6)一个名为distance的方法,返回Point类型的两个点之间的距离。 输入样例: 0 0 3 4 输出样例(不用考虑小数位数) : 线段长度为:5.0
下面是Java代码实现:
```
public class Point {
private double x;
private double y;
public Point() {
this.x = 0;
this.y = 0;
}
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return this.x;
}
public double getY() {
return this.y;
}
}
public class Line {
private Point start;
private Point end;
public Line(Point start, Point end) {
this.start = start;
this.end = end;
}
public double distance() {
double dx = this.end.getX() - this.start.getX();
double dy = this.end.getY() - this.start.getY();
return Math.sqrt(dx * dx + dy * dy);
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double x1 = scanner.nextDouble();
double y1 = scanner.nextDouble();
double x2 = scanner.nextDouble();
double y2 = scanner.nextDouble();
Point start = new Point(x1, y1);
Point end = new Point(x2, y2);
Line line = new Line(start, end);
System.out.println("线段长度为:" + line.distance());
}
}
```
设计并实现一个Point类。要求该类包含表示坐标的两个int型私有变量x、y,有两个构造方法Point()和Point(int xx, int yy),有能够返回x值和y值的成员函数方法,实现设置x值和y值的void setX(int xx)和void setY(int yy)方法,计算两点间距离的double distance(Point p)方法。其中计算平方根的方法是Math.sqrt(),如:double d=Math.sqrt(2);主函数内调用该类,构造两个点对象(0,0)和(10,10),输
出两个点的坐标、两点间距离。
代码实现如下:
```java
public class Point {
private int x;
private int y;
public Point() {
this.x = 0;
this.y = 0;
}
public Point(int xx, int yy) {
this.x = xx;
this.y = yy;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public void setX(int xx) {
this.x = xx;
}
public void setY(int yy) {
this.y = yy;
}
public double distance(Point p) {
int dx = this.x - p.getX();
int dy = this.y - p.getY();
return Math.sqrt(dx * dx + dy * dy);
}
public static void main(String[] args) {
Point p1 = new Point(0, 0);
Point p2 = new Point(10, 10);
System.out.println("Point 1: (" + p1.getX() + ", " + p1.getY() + ")");
System.out.println("Point 2: (" + p2.getX() + ", " + p2.getY() + ")");
System.out.println("Distance between points: " + p1.distance(p2));
}
}
```
输出结果为:
```
Point 1: (0, 0)
Point 2: (10, 10)
Distance between points: 14.142135623730951
```
阅读全文