java 计算 三角形的面积


public class Anser2 {
    float[] arrays = new float[4];
    //主函数入口,如果输入有误则抛出异常
    public static void main(String[] args){
        System.out.println("面积是:"+new Anser2().getTheArea());
    }
    private double inputStr() {
        Scanner scan = new Scanner(System.in);
        double result = 0;
        System.out.println("请输入三个条边长,来建立一个三角形");
        for(int i = 1; i < 4; ){
            System.out.println("请输入第"+i+ "边长为:");
            int intres = 0;
            if (scan.hasNext()) {
                String inputstr = (String) scan.next();
                try {
                    intres = Integer.parseInt(inputstr);
                    if(intres <= 0) 
                        System.out.println("您输入了一个小于或等与零的数,请重新输入一个数字");
                    else
                        arrays[i] = intres;
                        i++;
                }catch (Exception e) {
                    System.out.println("您输入了一个错误字符,请重新输入一个数字");
                    e.printStackTrace();
                }
            }
        }
        return result;
    }
    public double getTheArea() {
        inputStr();
        double result = 0;
        
        boolean error1 = (arrays[1] + arrays[2]) > arrays[3];
        boolean error2 = (arrays[2] + arrays[3]) > arrays[1];
        boolean error3 = (arrays[3] + arrays[1]) > arrays[2];
        while(!(error1 && error2 && error3)) {
            System.out.println("当前三条边不可能组成三角型请重新输入");
            inputStr();
        }
        float sq = (arrays[1] + arrays[2] + arrays[3]) /2;
        
        result = Math.sqrt(sq * (sq - arrays[1]) * (sq - arrays[2]) * (sq - arrays[3]));
        return result;
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM