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