计算三角形的面积

题目来源:学堂在线_清华大学_JAVA程序设计

编写一个三角形类,能根据输入的3个double类型数据构造三角形对象,定义三个构造方法。
如果这3个数据满足构成三角形的条件,直接构造三角形。否则,如果3个数的最大值大于0,则自动构造以最大值为边的等边三角形。如果最大值也不大于0,则将三角形类的三边都初始化为0。
再定义一个getArea方法,计算所构造的三角形的面积,返回类型为double。
最后,编写main方法,测试getArea方法,计算三角形的面积。

输入:
输入三个有理数,中间用空格隔开。例如:
8.9 6.4 7.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());
	}

}

 

你可能感兴趣的:(java)