/*
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:测试三类对象
* 作 者:薛广晨
* 完成日期:2011 年 09 月 29 日
* 版 本号:x1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:将上述三类对象进行测试,即用一个程序执行入口对三类对象进行测试
* 程序输出:
* 程序头部的注释结束
*/
//测试类
package xue;
public class AreaAndLength
{
public static void main(String args[])
{
double length, area;
Circle circle = null;
Trangle trangle;
Lader lader;
circle = new Circle(4);//创建对象circle
trangle = new Trangle(3, 4, 5);//创建对象trangle。
lader = new Lader(5, 6, 7);//创建对象lader
length = circle.getLength();// circle调用方法返回周长并赋值给length
System.out.println("圆的周长:"+length);
area = circle.getArea();// circle调用方法返回面积并赋值给area
System.out.println("圆的面积:"+area);
System.out.println();
length = trangle.getLength();// trangle调用方法返回周长并赋值给length
System.out.println("三角形的周长:"+length);
area = trangle.getArea();// trangle调用方法返回面积并赋值给area
System.out.println("三角形的面积:"+area);
System.out.println();
area = lader.getArea();// lader调用方法返回面积并赋值给area
System.out.println("梯形的面积:"+area);
System.out.println();
trangle.setABC(12, 34, 1);// trangle调用方法设置三个边,要求将三个边修改为12,34,1。
area = trangle.getArea();// trangle调用方法返回面积并赋值给area
System.out.println("三角形的面积:"+area);
length = trangle.getLength(); // trangle调用方法返回周长并赋值给length
System.out.println("三角形的周长:"+length);
}
}
//三角形类
package xue;
class Trangle
{
double sideA,sideB,sideC,area,length;
boolean boo;
public Trangle(double a,double b,double c)
{
//参数a,b,c分别赋值给sideA,sideB,sideC
this.sideA = a;
this.sideB = b;
this.sideC = c;
if(a + b > c && a + c > b && b + c > a) //a,b,c构成三角形的条件表达式
{
this.boo = true;//给boo赋值。
}
else
{
this.boo = false;//给boo赋值。
}
}
double getLength()
{
//方法体,要求计算出length的值并返回
if(boo)
{
length = sideA + sideB + sideC;
return length;
}
else
{
System.out.println("不是一个三角形,不能计算周长");
return 0;
}
}
public double getArea()
{
if(boo)
{
double p=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;
return area;
}
else
{
System.out.println("不是一个三角形,不能计算面积");
return 0;
}
}
public void setABC(double a,double b,double c)
{
//参数a,b,c分别赋值给sideA,sideB,sideC
this.sideA = a;
this.sideB = b;
this.sideC = c;
if(a + b > c && a + c > b && b + c > a) //a,b,c构成三角形的条件表达式
{
this.boo = true;//给boo赋值。
}
else
{
this.boo = false;//给boo赋值。
}
}
}
//梯形类
package xue;
class Lader
{
double above,bottom,height,area;
Lader(double a,double b,double h)
{
//方法体,将参数a,b,c分别赋值给above,bottom,height
this.above = a;
this.bottom = b;
this.height = h;
}
double getArea()
{
//方法体,要求计算出area返回
area = (above + bottom) * height / 2;
return area;
}
void set_ABH(double a,double b,double h)
{
this.above = a;
this.bottom = b;
this.height = h;
}
}
//圆形类
package xue;
class Circle
{
public static final double PI = 3.1415926;
double radius, area, length;
Circle(double r)
{
this.radius = r; //方法体
}
double getArea()
{
area = PI * radius * radius; //方法体,要求计算出area返回
return area;
}
double getLength()
{
length = PI * radius * 2;//getArea方法体的代码,要求计算出length返回
return length;
}
void setRadius(double newRadius)
{
radius = newRadius;
}
double getRadius()
{
return radius;
}
}
运行结果: