编写一个三角形类,能根据输入的3个double类型数据构造三角形对象,定义三个构造方法。如果这3个数据满足构成三角形的条件,直接构造三角形。否则,如果3个数的最大值大于0,则自动构造以最大值为边的等边

编写一个三角形类,能根据输入的3个double类型数据构造三角形对象,定义三个构造方法。

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

输入:
输入三个有理数,中间用空格隔开。例如:
8.9 6.4 7.2

输出:
输出三角形的面积。例如:
22.78812396293297
参考代码如下:

package jiayoubao;
import java.util.Scanner;
class delta{			//三角类
	double x1=0;
	double x2=0;
	double x3=0;
	public delta(double x1,double x2, double x3){
		this.x1=x1;
		this.x2=x2;
		this.x3=x3;
	}
	public double getArea() {
		double p=(x1+x2+x3)/2;
		return Math.sqrt(p*(p-x1)*(p-x2)*(p-x3));	
	}	
}

public class Tesedelta{
	public static void main(String args[]) {
		Scanner input=new Scanner(System.in);			//java 输入
		double x1,x2,x3,x;						
		System.out.print("输入:\n");
		x1=input.nextDouble();
		x2=input.nextDouble();
		x3=input.nextDouble();
		if(x1+x2>x3 && x1+x3>x2 && x2+x3>x1) {
			delta s=new delta(x1,x2,x3);
			System.out.println("输出:\n"+s.getArea());
			}
		else if ((x=((((x1>x2)?x1:x2)>x3)?((x1>x2)?x1:x2):x3))>0){
			delta s=new delta(x,x,x);
			System.out.println("输出:\n"+s.getArea());
			}
		else {
			delta s=new delta(0,0,0);
			System.out.println("输出:\n"+s.getArea());
			
		}
		
	}
	

}

编写一个三角形类,能根据输入的3个double类型数据构造三角形对象,定义三个构造方法。如果这3个数据满足构成三角形的条件,直接构造三角形。否则,如果3个数的最大值大于0,则自动构造以最大值为边的等边_第1张图片

你可能感兴趣的:(Eclipse,Java语言,编程题目)