第11周-八邊形Octagon類
問題及程式碼:
/*
*Copyright (c)2015,煙臺大學計算機與控制工程學院
*All rights reserved.
*檔名稱:Octagon.java
*作 者:單昕昕
*完成日期:2015年11月15日
*版 本 號:v1.0
*問題描述:Octagon八邊形。
*程式輸入:邊長。
*程式輸出:面積和周長。
*/
//GeometricObject類
class GeometricObject {}
//Octagon類
class Octagon extends GeometricObject implements Cloneable,Comparable////Octagon八邊形
{
private double length;
private double area;
public Octagon(double l)//初始化
{
this.length=l;
}
public double getArea()//面積
{
return ((2+4/Math.sqrt(2))*length*length);
}
public double getPerimeter()//周長
{
return (8.0*length);
}
public Object Clone() throws CloneNotSupportedException//實現object類中的clone方法
{
return super.clone();
}
public int compareTo(Object o)//實現object類中的compare方法
{
if(area>((Octagon)o).area)
return 1;
else if(area<((Octagon)o).area)
return -1;
else
return 0;
}
}
public class Test
{
public static void main(String args[]) throws CloneNotSupportedException
{
Octagon Octagon1=new Octagon(5);
Octagon Octagon2=new Octagon(3.3);
Octagon Octagon3=(Octagon) Octagon2.Clone();
System.out.println(Octagon1.compareTo(Octagon3));
GeometricObject[] geometricObject = {new Octagon(5)};
for (GeometricObject Object : geometricObject)//列舉型別
{
if(Object instanceof Octagon)//檢查是否為物件
{
Octagon o = (Octagon) Object;
System.out.println("The area is "+o.getArea());
System.out.println("The area is "+o.getPerimeter());
}
}
}
}
執行結果:
知識點總結:
擴充套件GeometricObject類並實現Comparable和Cloneable介面。
學習心得:
本來是按題目要求的實現Comparable和Cloneable介面的部分,結果題目裡面的要求命名在IDE裡是錯的。。又按著編譯提示修改按著書上的一個House例子寫才對。。
(⊙o⊙)…我這個程式好像CompareTo的實現測試是錯了的,改不出來。。求路過看到的大神萌指點迷津~~
相關文章
- 第11周-可著色介面Colorable類
- 第4周專案2-分數類的雛形
- 第3周專案1-三角形類1
- 第3周專案2-三角形類2
- 第11周個人練習
- 第11周小組練習
- 第11周團隊共同完成
- 第12周-Microwave皮膚圖形介面基礎
- 純CSS畫的基本圖形(矩形、圓形、三角形、多邊形、愛心、八卦CSS
- 第2周專案2-長方柱類
- 第3周專案3-三角形類(程式的多檔案組織)
- 第2周專案3-時間類(1)
- 第2周專案3-時間類(2)
- 11月 第4周 GitChat 話題排行榜Git
- 六邊形RecyclerViewView
- 多邊形填充-活動邊表法
- opencv多邊形逼近OpenCV
- SVG <polygon> 多邊形SVGGo
- 六邊形架構架構
- 第4周專案4-指向學生類的指標指標
- 第4周專案1-三角形類的建構函式(2)-預設建構函式函式
- 第11章 使用類——再談過載:向量類(二)
- 第4周專案1-三角形類的建構函式(4)-使用引數初始化表函式
- 第4周專案3-用物件陣列操作長方柱類物件陣列
- 四邊形輔助線做法
- 第4周專案1-三角形類的建構函式(1)-使用帶引數建構函式函式
- [CSS LEARN]Border與多邊形CSS
- 【JAVA】多邊形重心計算Java
- Facebook 面試題 | 凸多邊形面試題
- 2394 輸出六邊形
- nefu1130Attack monsters【平行四邊形優化石子合併】優化
- Java演算法面試題(005) 求n邊形周長的k等分點座標(今日頭條)Java演算法面試題
- 微信小程式-測試遊戲生成六邊多邊形微信小程式遊戲
- 人工智慧第2周(SVM)人工智慧
- 第0周學習總結
- 隨堂練習第7周
- 第11周專案6(4)-10000以內的所有可逆素數
- 第4周專案1-三角形類的建構函式(3)-使用有預設引數的建構函式函式