Java黑皮书课后题第10章:*10.11(几何:Circle2D类)定义Circle2D类
生活随笔
收集整理的這篇文章主要介紹了
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