2-2 编写一个表示二维平面上的点的类MyPoint

编写一个表示二维平面上的点的类MyPoint,满足以下条件:
1、定义private的成员变量x和y,表示点的x和y坐标,类型为double
2、定义两个MyPoint的构造方法,一个构造方法不带参数,而且x和y的初始值为0,另一个构造方法有两个参数,参数名为x和y,类型为double,用这两个参数分别作为初始x和y坐标
3、定义一个getD方法,有一个类型为MyPoint的对象参数,功能为返回当前对象和参数对象这两个坐标点的距离,返回值为double类型
4、编写测试的main方法,调用getD计算两个点之间的距离

输入:
输入2行数据, 总共4个有理数。每2个数据一组,表示一个点的x和y坐标,每行的2个数据用空格隔开。例如:
200.1 200.2
200.3 200.4

输出:
输出两个点之间的距离。例如:
0.28284271247464315

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        MyPoint a = new MyPoint(in.nextDouble(), in.nextDouble());
        MyPoint b = new MyPoint(in.nextDouble(), in.nextDouble());
        System.out.println(a.getD(b));

    }

}

class MyPoint {
    private double x;
    private double y;
    MyPoint(){
        x = 0; 
        y = 0;
    }
    MyPoint(double x, double y){
        this.x = x; 
        this.y = y;
    }
    double getD(MyPoint b) {
        double xd = this.x - b.x;
        double yd = this.y - b.y;
        return Math.sqrt(xd * xd + yd * yd);
    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是一个表示二维平面上的mypoint的示例: ``` class mypoint: def __init__(self, x, y): self.x = x self.y = y def __str__(self): return "({}, {1})".format(self.x, self.y) def distance(self, other): return ((self.x - other.x) ** 2 + (self.y - other.y) ** 2) ** .5 ``` 这个两个属性x和y,分别表示二维平面上的横坐标和纵坐标。它还有一个__str__方法,用于将坐标以字符串形式输出。最后,它还有一个distance方法,用于计算该与另一个之间的距离。 ### 回答2: 要编写一个表示二维平面上的,我们需要考虑的要包括: 1. 属性:每个都有横纵坐标,因此我们需要在的定义中加上两个属性Represented by x-axis and y-axis. 2. 的构造函数:我们需要定义一个构造函数,使得创建一个 Point 的实例时,可以在构造函数中直接指定该坐标。 3. 的成员函数:我们想在程序中能够获取每个 Point坐标或者计算两个 Point 之间的距离,因此我们需要定义一些成员函数,来实现这些操作。 根据上述考虑,下面给出一个简单的 Point 的定义: class MyPoint { private: double x; double y; public: MyPoint(double x = 0, double y = 0) { this->x = x; this->y = y; } double getX() const { return x; } double getY() const { return y; } void setX(double x) { this->x = x; } void setY(double y) { this->y = y; } double distance(const MyPoint& another) const { double dx = x - another.x; double dy = y - another.y; return sqrt(dx * dx + dy * dy); } }; 在上述代码中,我们将 MyPoint 声明了一个带有两个参数的构造函数,用于初始化每个的 x、y 坐标。 另外,我们定义了两个 getX 和 getY 函数,分别返回当前的横纵坐标。同时,我们也定义了 setX 和 setY 函数,以便在需要时更改坐标。 最后,我们还定义了 distance 函数来计算两个之间的距离,该函数接受另一个 MyPoint 对象作为参数,并返回两个的距离。 在 MyPoint 定义中,我们需要注意以下几: 1. MyPoint 中的大部分成员函数都需要使用 const 修饰符来保证其不修改对象的状态。 2. 我们使用了 this 关键字来引用当前对象的成员,这样可以避免命名冲突。 3. 最后,我们需要使用 sqrt 函数来计算之间的距离,因此需要引入 <cmath> 头文件。 ### 回答3: mypoint应该包含以下成员变量和方法: 1.成员变量: - x:表示的横坐标; - y:表示的纵坐标。 2.构造函数: - mypoint():无参构造函数,将的横纵坐标都初始化为0; - mypoint(double x, double y):有参构造函数,根据传入的横纵坐标初始化的位置。 3.常规方法: - getX():返回的横坐标; - getY():返回的纵坐标; - setX(double x):设置的横坐标; - setY(double y):设置的纵坐标; - toString():将的位置信息转化为字符串。 4.其他方法: - distance(mypoint p):计算该p之间的距离; - isSame(mypoint p):判断该p是否相同; - move(double x_offset, double y_offset):移动的位置,横纵坐标分别增加x_offset和y_offset的值。 以上是mypoint的基本形式,可以根据实际需求进行适当扩展。该类的作用是表示二维平面上的一个,封装了的位置信息和各种常规操作方法。在实际应用中,mypoint常用于图形学、地理信息系统等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值