这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战
定义一个描述二维点的类(如Point2D),提供不带参数和带参数的构造方法;
提供distance(int x, int y)和distance(Point2D p)方法用于计算两点之间的距离。 使用该类描述任意多边形,使用类的distantce方法计算此多边形的周长 输入:
输入2行数据, 总共4个有理数。每2个数据一组,表示一个点的x和y坐标,每行的2个数据用空格隔开。例如:
200.1 200.2
200.3 200.4
输出:
输出两个点之间的距离。例如:
0.28284271247464315 输入:
输入2个正整数,中间用空格隔开,分别作为矩形的长和宽,例如:5 8
输出:
输出2个正整数,中间用空格隔开,分别表示矩形的面积和周长,例如:40 26 定义一个getD方法,有一个类型为MyPoint的对象参数,功能为返回当前对象和参数对象这两个坐标点的距离,返回值为double类型
4、编写测试的main方法,调用getD计算两个点之间的距离
private int x;// x坐标
private int y;// y坐标
// 不带参数的构造方法
public Point() {
}
// 带两个参数的构造方法
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
// 求两点的距离
public int distance(Point b) {
return (int) Math.sqrt((this.x - b.getX()) * (this.x - b.getX()) + (this.y - b.getY()) * (this.y - b.getY()));
}
public static void test() {
Point A = new Point();
Point B = new Point(50, 60);
A.setX(80);
A.setY(100);
System.out.println("A: (" + A.getX() + "," + A.getY() + ") ");
System.out.println("B: (" + B.getX() + "," + B.getY() + ") ");
System.out.println("A->B 的距离为:" + A.distance(B));
}
public static void test2() {
System.out.println("------------------------------------------");
Point a = new Point(-10, 10);
Point b = new Point(10, 10);
Point c = new Point(10, -10);
Point d = new Point(-10, -10);
System.out.println("a: (" + a.getX() + "," + a.getY() + ") ");
System.out.println("b: (" + b.getX() + "," + b.getY() + ") ");
System.out.println("c: (" + c.getX() + "," + c.getY() + ") ");
System.out.println("d: (" + d.getX() + "," + d.getY() + ") ");
System.out.println("C为:" + (a.distance(b)+b.distance(c)+c.distance(d)+d.distance(a)));
}
public static void main(String[] args) {// 测试的main方法
test();
test2();
}