异常提示(三角形)

package com.company;
import java.util.Scanner;
public class CalcTriangleArea {
        public static void main(String[] args) {
            // 声明部分
            double a, b, c, s;
            Scanner sc = new Scanner(System.in);
            Triangle triangle =  new Triangle();

            // 输入部分
            System.out.print("a = ");
            a = sc.nextDouble();
            System.out.print("b = ");
            b = sc.nextDouble();
            System.out.print("c = ");
            c = sc.nextDouble();

            // 处理部分
            // 设置对象属性
            triangle.setA(a);
            triangle.setB(b);
            triangle.setC(c);
        try{
                s=triangle.area();
                System.out.println("area="+s);
            }
        catch (TriangleException e){
                System.err.println(e.getMessage());
            }
            // 调用对象方法、
          //  s = triangle.area();

            // 输出部分
            //System.out.println("area = " + s);
             }

        /**
         * 三角形类(内部类 - Inner Class)
         */
        private static class Triangle {
            private double a, b, c;

            public double getA() {
                return a;
            }

            public void setA(double a) {
                this.a = a;
            }

            public double getB() {
                return b;
            }

            public void setB(double b) {
                this.b = b;
            }

            public double getC() {
                return c;
            }

            public void setC(double c) {
                this.c = c;
            }

            public double area() throws TriangleException {
                double p, s;
                p = (a + b + c) / 2;
                if (a<0 || b<0 || c<0|| a+b<c ||b+c<a || a+c<b){
                    throw new TriangleException();
                    // throw new Exception("异常提示:三边构不成三角形!");
                   // System.out.println("异常提示:三边构不成三角形!");
                }
                s = Math.sqrt(p * (p - a) * (p - b) * (p - c));
                return s;

            }
    }

}

猜你喜欢

转载自blog.csdn.net/weixin_44584479/article/details/90746689