欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

以抛出异常的思想完成判断三边是否能够构成三角形及求三角形的面积

程序员文章站 2022-06-23 11:17:40
以抛出异常的思想完成判断三边是否能够构成三角形及求三角形的面积写一个方法void sanj(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常NotSanjiaoException,显示异常信息a,b,c+"不能构成三角形,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数。调用此方法,并捕获异常。代码如下:public class NotSanjiaoException extends Exception { int x,y,z;...

以抛出异常的思想完成判断三边是否能够构成三角形及求三角形的面积

写一个方法void sanj(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常NotSanjiaoException,显示异常信息a,b,c+"不能构成三角形,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数。调用此方法,并捕获异常。

代码如下:

public class NotSanjiaoException extends Exception {
    int x,y,z;
    String s;

    public NotSanjiaoException(String string,int x,int y,int z) {
        this.x=x;
        this.y=y;
        this.z=z;
        s=string;
    }
    public String getMessage(){

        return "输入的三边"+x+","+y+","+z+"不能构成三角形";
    }
}

public class Sanj {
    int x,y,z;

    public Sanj(int x, int y, int z) {
        super();
        this.x = x;
        this.y = y;
        this.z = z;
    }
    public void getArea() throws  NotSanjiaoException{

        if(x>0&&y>0&&z>0){
            if((x+y)>z&&(x+z)>y&&(y+z)>x){
                double q = (x+y+z)/2;
                double S = Math.sqrt((q-x)*(q-y)*(q-z));
                System.out.println("三角形面积为:"+S);
            } else
                throw new NotSanjiaoException("不满足两边之和大于第三边",x,y,z);
        } else
            throw new NotSanjiaoException("x,y,z不能为负数",x,y,z);
    }


    public void getInfo() throws  NotSanjiaoException{
        if(x>0&&y>0&&z>0){
            if((x+y)>z&&(x+z)>y&&(y+z)>x){
                System.out.println("三角形的三边:"+x+","+y+","+z);}
            else throw new NotSanjiaoException("不满足两边之和大于第三边",x,y,z);}

        else throw new NotSanjiaoException("x,y,z不能为负数",x,y,z);
    }

}
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);
        System.out.println("输入第一条边的长度");
        int a=sc.nextInt();
        System.out.println("输入第二条边的长度");
        int b=sc.nextInt();
        System.out.println("输入第三条边的长度");
        int c=sc.nextInt();
        Sanj s=new Sanj(a,b,c);
        try{
            s.getArea();
            s.getInfo();
        }catch(NotSanjiaoException e){
            System.out.println("你输入的三条边"+a+","+b+","+c+"不能构成三角形");

        }finally {
            System.out.println("实现");
        }

    }
}

本文地址:https://blog.csdn.net/CSDN9825/article/details/110495904

相关标签: java exception