Java-Work3-類的定義與物件的使用(二)
阿新 • • 發佈:2021-11-24
題目要求
- 定義設計一個Trangle(三角形)類, 該類放在tom.jiafei包中, 要求包含4個成員變數, 三條邊sideA, sideB, sideC, 一個布林值bool(判斷是否成為三角形)包含建構函式, 求三角形面積的方法getArea和重新設定三角形三條邊的方法setLength
- 定義個主類, 建立Trangle類的物件, 呼叫方法對輸入的三條邊進行面積計算
題目難點
- 判斷三邊是否構成三角形
- 計算三角形面積
實現程式碼
package work3; import java.util.Scanner; class Trangle { double sideA, sideB, sideC; boolean bool; // 有參建構函式, 賦值三條邊 Trangle(double a, double b, double c) { this.sideA = a; this.sideB = b; this.sideC = c; judgeTrangle(); } // 判斷三條邊是否構成三角形 void judgeTrangle() { bool = true; if(sideA + sideB <= sideC) bool = false; if(sideB + sideC <= sideA) bool = false; if(sideA + sideC <= sideB) bool = false; } // 計算三角形面積 void getArea() { judgeTrangle(); if(this.bool == false) System.out.println("Not a trangle, can not calculate area."); else { System.out.println("Is a trangle, the area can be calculate"); double p = (sideA + sideB + sideC)/2.0; double Area = Math.sqrt(p*(p-sideA)*(p-sideC)*(p-sideB)); System.out.println("Area is: "+Area); } } // 設定三邊長度 void setLength() { double a, b, c; Scanner reader = new Scanner(System.in); System.out.println("Reset three side:"); a = reader.nextDouble(); b = reader.nextDouble(); c = reader.nextDouble(); this.sideA = a; this.sideB = b; this.sideC = c; reader.close(); } } public class work3_2 { public static void main(String[] args) { double a, b, c; Scanner reader = new Scanner(System.in); System.out.println("Input three side: "); a = reader.nextDouble(); b = reader.nextDouble(); c = reader.nextDouble(); Trangle one = new Trangle(a, b, c); one.getArea(); one.setLength(); one.getArea(); reader.close(); } }