7-2 OOP 10.11 Circle2D 类的设计

6.1 1)    (几何:Circle2D 类)定义包含以下内容的 Circle2D 类:

■ 两个名为x 和y 的双精度数据字段使用getter 方法指定圆心。
■ 具有getter 方法的数据字段radius半径。
■ 一个无参数构造函数,它创建一个默认圆心(x, y), (0, 0) 表示, 半径为1。
■ 创建具有指定x、y 和半径的圆的构造函数。
■ getArea() 方法返回圆的面积。
■ 返回圆的周长的getPerimeter() 方法。
■ 一个方法 contains(double x, double y) 如果指定的点 (x, y) 在这个圆内,则返回 true(参见图 10.21a)。 (提示:点到圆心点的距离是否小于等于当前圆半径)
■ contains(Circle2D circle) 如果另外圆在这个圆内,则返回 true(见图 10.21b)。(提示:两个圆心点之间的距离加上传入参数圆的半径是否小于等于当前圆半径) )
一个方法overlaps(Circle2D circle),如果指定的圆与这个圆重叠,则返回true(见图10.21c)。(判断方法:两个圆心点之间的距离小于等于两个圆的半径之和)

编写一个测试程序,创建一个Circle2D对象c1(new Circle2D(2, 2, 5.5)),显示它的面积和周长,并显示c1.contains(3,3),c1.contains(new Circle2D(4 , 5, 10.5)) 和 c1.overlaps(new Circle2D(3, 5, 2.3)) 的结果
(提示:由于总是需要计算两点距离,建议定义一个静态方法计算两点距离,计算方法Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)))

输入格式:

2, 2, 5.5

输出格式:

c1 contains point:true
c1 contains circle:false
c1 overlaps circle:true

输入样例:

在这里给出一组输入。例如:

2 2 5.5

输出样例:

在这里给出相应的输出。例如:

c1 contains point:true
c1 contains circle:false
c1 overlaps circle:true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值