三角形對象的封裝 – JAVA編程語言程序開發技術文章

[java]
/* (程序頭部註釋開始) </p><p>* 程序的版權和版本聲明部分 
* Copyright (c) 2011, 煙臺大學計算機學院學生                              
* 作    者:   李兆慶                         
* 完成日期:   2012      年   9    月        24   日 
* 輸入描述:   
* 需求分析:封裝一類三角形對象Triangle,該類對象具有三條邊的屬性,具有初始化三角形的功能、
修改邊長的功能、判斷三條邊能否構成三角形的功能、求周長的功能、求面積的功能。
* 程序頭部的註釋結束 
*/ 
 
import javax.swing.JOptionPane;   
class Triangle 

    private double a, b, c;           //定義變量,分別用於存儲三角形的長,寬,高。 
     
    Triangle()                        //Triangle類的構造函數,分別對三角形三條邊進行初始化,切賦值為0; 
    { 
        a = 0.0; 
        b = 0.0; 
        c = 0.0; 
    } 
    public void setLeng(double a, double b, double c)   //定義“setLeng”行為,用於完成修改三條邊的功能。 
    { 
        this.a = a;                  // this關鍵字調用本對象的屬性a並進行重新賦值。      
        this.b = b;                  // this關鍵字調用本對象的屬性b並進行重新賦值。 
        this.c = c;                  // this關鍵字調用本對象的屬性c並進行重新賦值。 
    } 
     
    public boolean judge(Triangle t)             //定義“judge”行為,用於完成判斷是否為三角形的功能 
    { 
        if ((a > 0) && (b > 0) && (c > 0))       //前提是每條邊長必須大於零,也就是說,每天變長必須有意義。 
        { 
         
            if(((t.a + t.b) > t.c) && ((t.a + t.c) > t.b) && ((t.b + t.c) > t.a))  //三角形成立的判定條件 
            { 
                return true; 
            } 
             
        } 
        return false; 
    } 
    public double getGirth(Triangle t)           //定義“getGirth”行為,用於完成求取三角形面積的功能。 
    { 
        if (judge(t) == false) 
        { 
            System.out.println("對不起,您輸入三角形的三條邊不合法!"); 
            return 0; 
        } 
         
        double s = a + b + c ; 
         
        return s; 
 
    } 
    public double getArea(Triangle t)           //定義“getArea”行為,用於完成求取三角形面積的功能。 
    { 
         
        if(judge(t) == false) 
        { 
            System.out.println("對不起,您輸入三角形的三條邊不合法!"); 
        } 
        double s = (a + b + c)/2; 
         
        return Math.sqrt( s*(s-a)*(s-b)*(s-c)); 
    } 

 
public class Num {     
     
    /**  
     * @param args  
     */     
    public static void main(String[] args) 
    {     
        Triangle tri = new Triangle() ;          //通過關鍵字new建立一個Triangle的對象“tri”; 
         
        String str =JOptionPane.showInputDialog("請輸入三角形第一條邊長"); 
         
        double a = Integer.parseInt(str); 
         
        String str1=JOptionPane.showInputDialog("請輸入三角形第二條邊長"); 
         
        double b = Integer.parseInt(str1); 
         
        String str2 =JOptionPane.showInputDialog("請輸入三角形第三條邊長"); 
         
        double c = Integer.parseInt(str2); 
         
        System.out.println("您輸入三角形的三條邊分別為:"+a+"  "+b+"  "+c); 
         
        tri.setLeng(a, b, c); 
         
        System.out.println(tri.judge(tri));                
         
        System.out.println("面積:"+tri.getArea(tri)); 
         
        System.out.println("周長:"+tri.getGirth(tri)); 
           
    } 
    
}  

發佈留言