角形类,能根据输入的3个double类型数据构造三角形对象,定义三个构造方法。如果这3个数据满足构成三角形的条件,直接构造三角形。否则,如果3个数的最大值大于0,则自动构造以最大值为边的等边"/>
编写一个三角形类,能根据输入的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个数的最
发布评论