当前位置:
首页 >
Java黑皮书课后题第10章:*10.11(几何:Circle2D类)定义Circle2D类
发布时间:2024/8/1
64
豆豆
生活随笔
收集整理的这篇文章主要介绍了
Java黑皮书课后题第10章:*10.11(几何:Circle2D类)定义Circle2D类
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
*10.11(几何:Circle2D类)定义Circle2D类
- 题目
- 程序
- 代码
- Test11.java
- Test11_Circle2D.java
- 运行实例
- 关于UML
题目
程序
Test11.java:测试程序
Test11_Circle2D.java:构造程序
代码
Test11.java
public class Test11 {public static void main(String[] args) {Test11_Circle2D c1 = new Test11_Circle2D(2, 2, 5.5);System.out.printf("面积:%.2f\n", c1.getArea());System.out.printf("周长:%.2f\n", c1.getPerimeter());System.out.println("====================");System.out.println(c1.contains(3, 3));System.out.println(c1.contains(new Test11_Circle2D(4, 5, 10.5)));System.out.println(c1.overlaps(new Test11_Circle2D(3, 5, 2.3)));} }Test11_Circle2D.java
public class Test11_Circle2D {double x, y;public double getX() {return x;}public double getY() {return y;}double radius;public double getRadius(){return radius;}public Test11_Circle2D(){x = 0;y = 0;radius = 1;}public Test11_Circle2D(double x, double y, double radius){this.x = x;this.y = y;this.radius = radius;}public double getArea(){return Math.PI * radius * radius;}public double getPerimeter(){return 2 * Math.PI * radius;}public boolean contains(double x, double y){double distance = Math.sqrt((this.x - x) * (this.x - x) + (this.y - y) * (this.y - y));boolean b;if (distance >= radius)b = false;elseb = true;return b;}public boolean contains(Test11_Circle2D circle){// 步1:circle圆心在本圆中// 步2:圆心距离+circle半径 <= 本圆半径boolean judgeStepOne, judgeStepTwo;double distance = Math.sqrt((x - circle.x) * (x - circle.x) + (y - circle.y) * (y - circle.y));judgeStepOne = contains(circle.x, circle.y);judgeStepTwo = (distance + circle.radius <= radius);return judgeStepOne && judgeStepTwo;}public boolean overlaps(Test11_Circle2D circle){// 圆心距离小于两半径和double distance = Math.sqrt((x - circle.x) * (x - circle.x) + (y - circle.y) * (y - circle.y));return distance < radius + circle.radius;} }运行实例
面积:95.03 周长:34.56 ==================== true false true关于UML
总结
以上是生活随笔为你收集整理的Java黑皮书课后题第10章:*10.11(几何:Circle2D类)定义Circle2D类的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java黑皮书课后题第10章:*10.1
- 下一篇: Java黑皮书课后题第10章:*10.1