面向对象Java实验:实验二
类封装,实例成员与类成员,包
程序1:
class
Trangle
{
double
sideA,sideB,sideC,area,length;
boolean
boo;
public Trangle(double a,double b,double
c)
{
// 参数a, b,
c分别赋值给sideA, sideB, sideC
sideA=a;
sideB=b;
sideC=c;
if(a+b>c || a+c>b ||
b+c>a)
//a, b, c构成三角形的条件表达式
{
boo=true; // 给boo赋值
}
else
{
boo=false;
// 给boo赋值
}
}
double
getLength()
{
return (sideA+sideB+sideC); // 方法体,要求计算出length的值并返回
}
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)
{
sideA=a;
sideB=b;
sideC=c; // 参数a, b,
c分别赋值给sideA, sideB, sideC
if(a+b>c || a+c>b ||
b+c>a) // a, b, c构成三角形的条件表达式
{
boo=true; //给boo赋值。
}
else
{
boo=false; // 给boo赋值
}
}
}
class Lader
{
double above,bottom,height,area;
Lader(double a,double b,double h)
{
above = a;
bottom = b;
height = h;// 方法体
}
double getArea( )
{
return ((above+bottom)*height/2.0);
// 方法体,,要求计算出area返回
}
}
class Circle
{
double radius,area;
Circle(double r)
{
radius = r; // 方法体
}
double getArea( )
{
return (3.14*radius*radius);
// 方法体,要求计算出area返回
}
double getLength( )
{
return (3.14*2.0*radius); // getArea方法体的代码,要求计算出length返回
}
void
setRadius(double newRadius)
{
radius=newRadius;
}
double getRadius( )
{
return radius;
}
}
public class
AreaAndLength
{
public static void main(String args[ ])
{
double length,area;
Circle circle=null;
Trangle trangle;
Lader lader;
circle = new
Circle(0.0); //创建对象circle
trangle = new
Trangle(0.0,0.0,0.0); //创建对象trangle
lader = new
Lader(0.0,0.0,0.0); //创建对象lader
length=circle.getLength(); // circle调用方法返回周长并赋值给length
System.out.println("圆的周长:"+length);
area = circle.getArea(
); // circle调用方法返回面积并赋值给area
System.out.println("圆的面积:"+area);
length =
trangle.getLength(); // trangle调用方法返回周长并赋值给length
System.out.println("三角形的周长:"+length);
area =
trangle.getArea(); // trangle调用方法返回面积并赋值给area
System.out.println("三角形的面积:"+area);
area =
lader.getArea(); // lader调用方法返回面积并赋值给area
System.out.println("梯形的面积:"+area);
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);
}
}
程序二:
Trangle.java
package tom.jiafei;
public class Trangle
{
double
sideA,sideB,sideC;
boolean
boo;
public Trangle(double
a,double b,double c)
{
sideA=a;sideB=b;sideC=c;
if(a+b>c&&a+c>b&&c+b>a)
{
System.out.println("我是一个三角形");
boo=true;
}
else
{
System.out.println("我不是一个三角形");
boo=false;
}
}
public void 计算面积( )
{
if(boo)
{
double p=(sideA+sideB+sideC)/2.0;
double area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;
System.out.println("是一个三角形,能计算面积");
System.out.println("面积是:"+area);
}
else
{
System.out.println("不是一个三角形,不能计算面积");
}
}
public void 修改三边(double a, double b, double c)
{
sideA=a;sideB=b;sideC=c;
if(a+b>c&&a+c>b&&c+b>a)
{
boo=true;
}
else
{
boo=false;
}
}
}
SunRise.java:
import tom.jiafei.Trangle;
import java.util.Date;
class SunRise
{
public static void main(String args[
])
{
Trangle trangle=new Trangle(12,3,104);
trangle.计算面积( );
trangle.修改三边(3,4,5);
trangle.计算面积( );
Date
date=new Date( );
System.out.println(date);
}
}