JAVA课程实验报告.docx
- 文档编号:28022715
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:16
- 大小:46.65KB
JAVA课程实验报告.docx
《JAVA课程实验报告.docx》由会员分享,可在线阅读,更多相关《JAVA课程实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
JAVA课程实验报告
题目一
计算图形面积。
(P33)
1.程序:
importjava.io.*;
publicclasstext1
{
publicstaticvoidmain(Stringargs[])
{
doublesum;
Trias1=newTria(6.0,5.0);
Trias2=newTria(8.0,3.0);
Rects3=newRect(7.0,3.0);
Rects4=newRect(6.0,5.0);
sum=2*s1.area1()+s2.area1()+s3.area2()+s4.area2();
System.out.println("总面积为:
"+sum);
}
}
classTria
{
doublebottom,height;
Tria(doubleb,doubleh)
{
bottom=b;
height=h;
}
doublearea1()
{
return((bottom*height)/2.0);
}
}
classRect
{
doublelength,width;
Rect(doublel,doublew)
{
length=l;
width=w;
}
doublearea2()
{
return(length*width);
}
}
2.结果:
3.分析:
定义一个主类text1和两个普通类Tria、Rect,再分别对两类创建其各自的对象。
题目二
创建一个飞机类,其中数据成员包括长、宽、高、最大载重和最大载重下的航程。
当飞机的载重不超过最大载重时,重量每减轻1000千克,航程就会提高100千米。
在主类中创建该类的对象,当已知飞机的载重时,求飞机的航程。
1.程序:
importjava.io.*;
publicclasstext2
{
publicstaticvoidmain(Stringargs[])
{
planemyplane=newplane(25,7.5,4.5,8000,3000);
myplane.setweight(4000);
System.out.println("飞机的航程:
"+myplane.max_voyage()+"km");
}
}
classplane
{
doublelength,width,height,load,voyage,real_load;
plane(doublelen,doublewid,doublehei,doubleloa,doublevoy)
{
length=len;
width=wid;
height=hei;
load=loa;
voyage=voy;
}
voidsetweight(doublerea)
{
real_load=rea;
}
doublemax_voyage()
{
return(((load-real_load)/1000)*400+voyage);
}
}
2.结果:
3.分析:
定义一个普通类plane,对其初始化,定义方法,然后在主类中对其调用。
题目三
定义一个抽象的汽车类(Auto),其数据成员包括长、宽和高,方法为一个抽象的ADD方法。
由汽车类派生出轿车类(Car),在轿车类中增加速度这一数据成员,另外重写ADD方法实现将速度提高10KM/H。
由汽车类派生出卡车类(Truck),在卡车类中增加功(power)这一数据成员,另外重写ADD方法实现将功率提高15KW。
在主类中调试运行以上两个派生类。
1.程序:
importjava.io.*;
publicclasstext3
{
publicstaticvoidmain(Stringargs[])
{
Carc=newCar(2.5,1.3,1.5,8);
Truckt=newTruck(4.5,2,2,10);
Strings1="轿车的信息如下:
\n长度:
"+c.length+"m\n宽度:
"+c.width+"m\n高度:
"+c.height+"m\n速度:
"+c.speed+"km/h\n提高后的速度:
"+c.ADD()+"km/h";
System.out.println(s1+"\n");
Strings2="卡车的信息如下:
\n长度:
"+t.length+"m\n宽度:
"+t.width+"m\n高度:
"+t.height+"m\n速度:
"+t.power+"kw\n提高后的功率:
"+t.ADD()+"kw";
System.out.println(s2);
}
}
abstractclassAuto
{
doublelength,width,height;
abstractdoubleADD();
}
classCarextendsAuto
{
doublespeed;
Car(doublelen,doublewid,doublehei,doublespe)
{
length=len;
width=wid;
height=hei;
speed=spe;
}
doubleADD()
{
speed+=10;
returnspeed;
}
}
classTruckextendsAuto
{
doublepower;
Truck(doublelen,doublewid,doublehei,doublepow)
{
length=len;
width=wid;
height=hei;
power=pow;
}
doubleADD()
{
power+=15;
returnpower;
}
}
2.结果:
3.分析:
定义抽象类Auto,在其中定义一个抽象类方法ADD()。
由Auto类派生出两个子类:
Car和Truck。
两者都继承了抽象类的所有域和方法,还各自定义了新的域speed、power。
题目四
定义一个Airplane抽象类,其域有length、width和height。
由它派生出Fighter类,其域有length、width、height和range,在Fighter类中实现构造函数重载,使用两个构造函数分别实现对所有域的初始化赋值和对range增加100的操作。
再由Fighter类派生出Lightfighter类,在该类中调用Fighter类中的构造函数实现对range增加100的操作。
在主方法中创建Fighter类和的Lightfighter类的对象,输出Fighter类对象全部域的值,输出Lightfighter类对象range的值。
1.程序:
importjava.io.*;
publicclasstext4
{
publicstaticvoidmain(Stringargs[])
{
FighterF=newFighter(100,20,10,5000);
LightfighterL=newLightfighter(6000);
Strings1="长度:
"+F.length+"m\n"+"宽度:
"+F.width+"m\n"+"高度:
"+F.height+"m\n"+"航程:
"+F.range+"km";
System.out.println("Fighter的信息如下:
\n"+s1+"\n");
System.out.println("Lightfighter的航程:
"+L.range+"km");
}
}
abstractclassAirplane
{
intlength,width,height;
}
classFighterextendsAirplane
{
intrange;
Fighter(intlen,intwid,inthei,intran)
{
length=len;
width=wid;
height=hei;
range=ran;
}
Fighter(intra)
{
range=ra+100;
}
}
classLightfighterextendsFighter
{
Lightfighter(intr)
{
super(r);
}
}
2.结果:
3.分析:
定义Fighter类并构造重载函数,后派生出Lightfighter类,用super调用父类。
题目五
定义一个学生抽象类student。
(P76)
1.程序:
importjava.io.*;
publicclasstext5
{
publicstaticvoidmain(Stringargs[])
{
XTim=newX(11001,101,21,"张三","男",171);
D_ZLily=newD_Z(22002,202,22,"李四","男",172);
D_BJim=newD_B(33003,303,23,"李丽","女",173);
Y_BMike=newY_B(44004,404,24,"张红","女",174);
Strings1,s2,s3,s4;
s1="学号:
"+Tim.StuNumber+"\n班号:
"+Tim.ClaNumber+"\n姓名:
"+Tim.name+"\n性别:
"+Tim.sex+"\n年龄:
"+Tim.age+"\n高度:
"+Tim.height;
s2="学号:
"+Lily.StuNumber+"\n班号:
"+Lily.ClaNumber+"\n姓名:
"+Lily.name+"\n性别:
"+Lily.sex+"\n年龄:
"+Lily.age+"\n高度:
"+Lily.height;
s3="学号:
"+Jim.StuNumber+"\n班号:
"+Jim.ClaNumber+"\n姓名:
"+Jim.name+"\n性别:
"+Jim.sex+"\n年龄:
"+Jim.age+"\n高度:
"+Jim.height;
s4="学号:
"+Mike.StuNumber+"\n班号:
"+Mike.ClaNumber+"\n姓名:
"+Mike.name+"\n性别:
"+Mike.sex+"\n年龄:
"+Mike.age+"\n高度:
"+Mike.height;
System.out.println("学生信息如下:
\n\n"+s1+"\n\n"+s2+"\n\n"+s3+"\n\n"+s4);
}
}
abstractclassstudent
{
intStuNumber,ClaNumber,age;
Stringname,sex;
doubleheight;
}
classXextendsstudent
{
X(intStu,intCla,intag,Stringna,Stringse,doublehei)
{
StuNumber=Stu;
ClaNumber=Cla;
age=ag;
name=na;
sex=se;
height=hei;
}
X(doubleheights)
{
height=heights+0.5;
}
}
classZextendsstudent
{
}
classDextendsstudent
{
D(intStu,intCla,intag,Stringna,Stringse,doublehei)
{
StuNumber=Stu;
ClaNumber=Cla;
age=ag;
name=na;
sex=se;
height=hei;
}
D(intages)
{
age=ages+1;
}
D()
{
}
}
classD_ZextendsD
{
D_Z(intStu,intCla,intag,Stringna,Stringse,doublehei)
{
StuNumber=Stu;
ClaNumber=Cla;
age=ag+1;
name=na;
sex=se;
height=hei+1;
}
}
classD_BextendsD
{
D_B(intst,intc,inta,Stringn,Strings,doubleh)
{
super(st,c,a,n,s,h);
}
}
classYextendsstudent
{
}
classY_SextendsY
{
}
classY_BextendsY
{
Y_B(intStu,intCla,intag,Stringna,Stringse,doublehei)
{
StuNumber=Stu;
ClaNumber=Cla;
age=ag+2;
name=na;
sex=se;
height=hei;
}
}
2.结果:
3.分析:
定义一个抽象类student,再派生出四个子类,子类中又派生出子类。
题目六
编程。
(P93)
1.程序:
importjava.io.*;
publicclasstext6
{
publicstaticvoidmain(Stringargs[])
{
int[]a={2,5,6,40,12,15,17};
intmax=a[0];
intmin=a[0];
floataver;
intsum=0;
for(inti=0;i { if(a[i]>max)max=a[i]; if(a[i] sum+=a[i]; } aver=sum/a.length; System.out.println("max="+max); System.out.println("min="+min); System.out.println("aver="+aver); } } 2.结果: 3.分析: 在主类中定义一个一维数组,再对其求最大最、最小值和平均值。 题目七 编程。 (P93) 1.程序: importjava.io.*; publicclasstext7 { publicstaticvoidmain(Stringargs[]) { int[][]a={{1,2,3,4,5,6}, {7,8,9,10,11,12}, {13,14,15,16,17,18}, {19,20,21,22,23,24}, {25,26,27,28,29,30}, {31,32,33,34,35,36}}; intsum=0,j=5; for(inti=0;i<6;i++) sum+=a[i][i]+a[j--][i]; System.out.println("sum="+sum); } } 2.结果: 3.分析: 在主类中定义一个二维数组,再对其求对角线的和。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程 实验 报告