普考申論題
109年
[資訊處理] 程式設計概要
第 五 題
五、請使用 C++,Java 或 Python 程式語言為三角形面積計算公式設計一個名為 HeronFormula 類別,並撰寫一測試程式驗證此類別程式碼的正確性。此類別須包含:(25分)
三邊長的私有資料 a,b,c。
三邊長 a,b,c 的初始化設定或建構元方法。
inputSide( )公有方法:讓使用者輸入三邊長 a,b,c。此方法須能確認使用者所輸入的三邊長皆須大於 0,另此方法不須回傳值。
getAssessResult( )公有方法:判斷三邊長 a,b,c 是否可以構成三角形。如果可以的話則回傳布林型別(Boolean)“真”,如果不可以的話則回傳“假”。
getPerimeter( )公有方法:回傳三角形的周長。此方法須呼叫 getAssessResult( )方法,如果回傳值為“真”則回傳三角形的周長,如果回傳值為“假”則回傳-1。
getArea( )公有方法:回傳三角形的面積。此方法須呼叫 getAssessResult( )方法,如果回傳值為“真”則回傳三角形的面積,如果回傳值為“假”則回傳-1。三角形面積的 Heron 計算公式為:√s(s-a)(s-b)(s-c),其中 s = (a+b+c)/2。
程式執行範例如下:
請輸入大於0的三邊長:-3,6,9
輸入錯誤,請重新輸入大於0的三邊長:3,6,9
所輸入的三個整數無法構成三角形
繼續玩嗎?若想繼續玩,請按'y'或'Y':y
請輸入大於0的三邊長:3,4,5
周長等於:12
面積等於:6.0
繼續玩嗎?若想繼續玩,請按'y'或'Y':n
📝 此題為申論題
思路引導 VIP
本題重點在於物件導向類別設計與字串處理的整合。首先依題意定義類別屬性及建構元,接著利用字串分割技巧處理逗號分隔的輸入,並透過迴圈實作輸入驗證;最後運用三角形構成條件(兩邊之和大於第三邊)及海龍公式完成面積與周長計算,再於主程式中加入重複執行的控制邏輯。
🤖
AI 詳解
AI 專屬家教
【解題關鍵】掌握 Java 物件導向類別封裝、字串分割(split)以處理特定格式輸入,以及基礎數學邏輯(海龍公式與三角形構成條件)。
【解答】
以下使用 Java 程式語言實作 HeronFormula 類別與主程式測試驗證:
▼ 還有更多解析內容