1. 程式人生 > 其它 >Java-Work3-類的定義與物件的使用(二)

Java-Work3-類的定義與物件的使用(二)

題目要求

  1. 定義設計一個Trangle(三角形)類, 該類放在tom.jiafei包中, 要求包含4個成員變數, 三條邊sideA, sideB, sideC, 一個布林值bool(判斷是否成為三角形)包含建構函式, 求三角形面積的方法getArea和重新設定三角形三條邊的方法setLength
  2. 定義個主類, 建立Trangle類的物件, 呼叫方法對輸入的三條邊進行面積計算

題目難點

  1. 判斷三邊是否構成三角形
  2. 計算三角形面積

實現程式碼

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();
	}
}