2-3 编写一个三角形类

简介: 编写一个三角形类,能根据输入的3个double类型数据构造三角形对象,定义三个构造方法。 如果这3个数据满足构成三角形的条件,直接构造三角形。

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

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

输出:
输出三角形的面积。例如:
22.78812396293297

import java.util.Scanner;;
public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        triAngle t = new triAngle(in.nextDouble(), in.nextDouble(), in.nextDouble());
        System.out.println(t.getArea());
    }   

}

class triAngle {
    private double a;
    private double b;
    private double c;

    triAngle(double a, double b, double c){
        double max;
        if(a > b && a > c) {
            max = a;
        }else if(b > c) {
            max = b;
        }else {
            max = c;
        }

        if(a > 0 && b > 0 && c > 0 && a + b > c && a + c > b && b + c > a) {
            this.a = a;
            this.b = b;
            this.c = c;
        }else if(max > 0) {
            this.a = max;
            this.b = max;
            this.c = max;
        }else {
            this.a = 0;
            this.b = 0;
            this.c = 0;
        }
    }

    double getArea() {
        //S=根号[s(s-a)(s-b)(s-c)] 
        double s = (a + b + c) / 2;
        return Math.sqrt(s * (s - a) * (s - b) * (s - c));
    }

}
目录
相关文章
|
10月前
|
C++
C++练习:设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 顺便熟悉一下分文件编写
C++练习:设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 顺便熟悉一下分文件编写
87 0
|
2月前
|
Java
Java实现打印菱形
Java实现打印菱形
23 1
|
2月前
|
Java
java实现打印菱形
java实现打印菱形
|
10月前
|
2月前
|
Java
【Java每日一题】— —第二十四题:编程定义一个长方形类Rectangle
【Java每日一题】— —第二十四题:编程定义一个长方形类Rectangle
87 0
|
9月前
|
Java
Java实验-------编写求解几何图形的面积和周长应用程序
Java实验-------编写求解几何图形的面积和周长应用程序
105 0
|
Java 测试技术 Android开发
Junit对Triangle( )类(判断三角形)进行测试。
Junit对Triangle( )类(判断三角形)进行测试。
237 0
java实现打印等腰三角形
java实现打印等腰三角形
20-类和对象-封装-点和圆的关系
20-类和对象-封装-点和圆的关系