实验1 Java类与对象程序设计基础一、实验目的:
通过编制一个独立应用程序,使得学生掌握Java的系统所提供类的引用方法;通过编制一个完整的应用程序,使得学生对Java的应用程序的基本构成和基本算法熟练掌握,同时熟悉Java开发环境;通过自定义类及子类的设计,熟悉类的定义和父、子类的继承关系;掌握类多态性的实现和调用。上机练习之前,必须先完成程序的书写,再上机调试。二、实验内容:
1、编程实现矩形类,其中应包括计算矩形周长和面积的方法。
2、使用矩形类,编程统计若干块土地的相关信息。由用户输入每块土地的长与宽(自己确定),程序将计算其面积并显示出来。
3、为实验1中定义的矩形类派生一个子类:正方形类。若正方形类的操作同样是求周长和面积,则这个子类除了从父类那里继承来的方法之外,还需要定义那些方法。编程检查、运行所编写的正方形类。三、实验指导:
注意类的继承,方法的实现。四、实验要求:
1、在上机前写出全部源程序;
2、能在机器上正确运行程序;
五、程序清单:
六、运行结果:
七、调试分析及实验心得:
通过编制一个独立应用程序,使得学生掌握Java的系统所提供类的引用方法;通过编制一个完整的应用程序,使得学生对Java的应用程序的基本构成和基本算法熟练掌握,同时熟悉Java开发环境;通过自定义类及子类的设计,熟悉类的定义和父、子类的继承关系;掌握类多态性的实现和调用。上机练习之前,必须先完成程序的书写,再上机调试。二、实验内容:
1、编程实现矩形类,其中应包括计算矩形周长和面积的方法。
2、使用矩形类,编程统计若干块土地的相关信息。由用户输入每块土地的长与宽(自己确定),程序将计算其面积并显示出来。
3、为实验1中定义的矩形类派生一个子类:正方形类。若正方形类的操作同样是求周长和面积,则这个子类除了从父类那里继承来的方法之外,还需要定义那些方法。编程检查、运行所编写的正方形类。三、实验指导:
注意类的继承,方法的实现。四、实验要求:
1、在上机前写出全部源程序;
2、能在机器上正确运行程序;
五、程序清单:
六、运行结果:
七、调试分析及实验心得:
{
double sideA,sideB,sideC,area,length;
boolean boo;
public Trangle(double a,double b,double c)
{
sideA =a;
sideB= b;
sideC= c;//参数a,b,c分别赋值给sideA,sideB,sideC。
if((sideA>0)&&(sideB>0)&&(sideC>0)&&((sideA+sideB)>sideC)&&(Math.abs(sideA-sideB)<sideC)) //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((sideA>0)&&(sideB>0)&&(sideC>0)&&((sideA+sideB)>sideC)&&(Math.abs(sideA-sideB)<sideC)) //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;
area = (a+b)*h/2;
//方法体。
}
double getArea()
{
return area; //方法体,,要求计算出area返回。
}
}class Circle
{
double radius,area;
Circle(double r)
{
radius =2*Math.PI*r;
area =Math.PI*r*r;//方法体。
}
double getArea()
{
return area; //方法体,要求计算出area返回。
}
double getLength()
{
return radius; //方法体,要求计算出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(5); //创建对象circle。
trangle =new Trangle(3,4,5); //创建对象trangle。
lader = new Lader(2,3,4) ;//创建对象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);
}
}给你参考下
相信自己能搞出来的。