三角形の面積を計算する

1435 ワード

出典:学堂オンライン_清華大学_JAVAプログラミング
入力した3つのdoubleタイプのデータに基づいて三角形オブジェクトを構築し、3つの構築方法を定義する三角形クラスを作成します.この3つのデータが三角形を構成する条件を満たす場合,直接三角形を構築する.そうでなければ、3つの数の最大値が0より大きい場合、最大値をエッジとする等辺三角形が自動的に構築されます.最大値が0よりも大きくない場合は、三角形クラスの3辺を0に初期化します.さらにgetAreaメソッドを定義し、構築された三角形の面積を計算し、戻りタイプをdoubleとします.最後にmainメソッドを記述し,getAreaメソッドをテストし,三角形の面積を計算した.入力:3つの有理数を入力し、中央をスペースで区切ります.例えば:8.9 6.47.2出力:三角形の面積を出力します.例:22.78812396293297
 
package chapter02;

import java.util.Scanner;

class Triangle {
	private double a;
	private double b;
	private double c;
	Triangle(){
		this.a = 0;
		this.b = 0;
		this.c = 0;
	}
	Triangle(double a,double b,double c){
		this.a = a;
		this.b = b;
		this.c = c;		
	}
	Triangle(double max){
		this.a = this.b = this.c = max;
	}
	public double getArea() {
		double p=0.5*(this.a+this.b+this.c);
		return Math.sqrt(p*(p-this.a)*(p-this.b)*(p-this.c));
	}
}
public class test03 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Triangle triangle;
		Scanner in = new Scanner(System.in);
		double a = in.nextDouble();
		double b = in.nextDouble();
		double c = in.nextDouble();
		in.close();
		if (a<0||b<0||c<0) {
			triangle = new Triangle();
		}
		else if (a+b>c&&b+c>a&&a+c>b) {
			triangle = new Triangle(a,b,c);
		}
		else {
			triangle = new Triangle(Math.max(a, Math.max(b, c)));
		}
		System.out.println(triangle.getArea());
	}

}