三角形对象的封装

2014-11-24 09:26:40 · 作者: · 浏览: 0
[java]
/* (程序头部注释开始)

* 程序的版权和版本声明部分
* 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));

}

}