日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java黑皮书课后题第10章:*10.11(几何:Circle2D类)定义Circle2D类

發布時間:2024/8/1 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。