ava程序设计试验学生版文档格式.docx

上传人:b****2 文档编号:877031 上传时间:2023-04-29 格式:DOCX 页数:15 大小:20.69KB
下载 相关 举报
ava程序设计试验学生版文档格式.docx_第1页
第1页 / 共15页
ava程序设计试验学生版文档格式.docx_第2页
第2页 / 共15页
ava程序设计试验学生版文档格式.docx_第3页
第3页 / 共15页
ava程序设计试验学生版文档格式.docx_第4页
第4页 / 共15页
ava程序设计试验学生版文档格式.docx_第5页
第5页 / 共15页
ava程序设计试验学生版文档格式.docx_第6页
第6页 / 共15页
ava程序设计试验学生版文档格式.docx_第7页
第7页 / 共15页
ava程序设计试验学生版文档格式.docx_第8页
第8页 / 共15页
ava程序设计试验学生版文档格式.docx_第9页
第9页 / 共15页
ava程序设计试验学生版文档格式.docx_第10页
第10页 / 共15页
ava程序设计试验学生版文档格式.docx_第11页
第11页 / 共15页
ava程序设计试验学生版文档格式.docx_第12页
第12页 / 共15页
ava程序设计试验学生版文档格式.docx_第13页
第13页 / 共15页
ava程序设计试验学生版文档格式.docx_第14页
第14页 / 共15页
ava程序设计试验学生版文档格式.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ava程序设计试验学生版文档格式.docx

《ava程序设计试验学生版文档格式.docx》由会员分享,可在线阅读,更多相关《ava程序设计试验学生版文档格式.docx(15页珍藏版)》请在冰点文库上搜索。

ava程序设计试验学生版文档格式.docx

【代码1】//声明double型变量speed,刻画速度

【代码2】//声明int型变量power,刻画功率

voidspeedUp(ints){

【代码3】//将参数s的值与成员变量speed的和赋值给成员变量speed

}

voidspeedDown(intd){

【代码4】//将成员变量speed与参数d的差赋值给成员变量speed

voidsetPower(intp){

【代码5】//将参数p的值赋值给成员变量power

}

intgetPower(){

【代码6】//返回成员变量power的值

doublegetSpeed(){

returnspeed;

}

----------------------------------------------------------------------------------------------

User.java

publicclassUser{

publicstaticvoidmain(Stringargs[]){

Vehiclecar1,car2;

【代码7】//使用new运算符和默认的构造方法创建对象car1

【代码8】//使用new运算符和默认的构造方法创建对象car2

car1.setPower(128);

car2.setPower(76);

System.out.println("

car1的功率是:

"

+car1.getPower());

car2的功率是:

+car2.getPower());

【代码9】//car1调用speedUp方法将自己的speed的值增加80

【代码10】//car2调用speedUp方法将自己的speed的值增加80

car1目前的速度:

+car1.getSpeed());

car2目前的速度:

+car2.getSpeed());

car1.speedDown(10);

car2.speedDown(20);

1.3实验指导

●创建一个对象时,成员变量被分配空间,这些内存空间称作该对象的实体或变量,而对象中存放着引用,以确保这些变量被该对象操作使用。

●空对象不能使用,即不能让一个空对象去调用方法产生行为。

假如程序中使用了空对象,在运行时会产生异常:

NullPointerException,对象时动态地分配实体的,Java的编译器对空对象不做检查。

因此,在编译时要避免使用空对象。

1.4实验改进(编写程序,并给出结果)

1.改进speedUp()方法,使得Vehicle类的对象加速时不能将speed值超过200.

2.改进speedDown()方法,使得Vehicle类的对象在减速时不能将speed值小于0.

3.增进一个刹车方法voidbrake(),Vehicle类的对象调用它能将speed的值变成0.

1.5实验结果

实验2家中的电视

1.实验要求

编写一个Java应用程序,模拟家庭买一台电视,即家庭将电视作为自己的一个成员,即通过调用一个方法将某个电视的引用传递给自己的电视成员。

●有三个源文件,其中TV.java中的TV类负责创建“电视”对象。

Family.java中的Family类负责创建“家庭”对象,MainClass.java是主类。

●在主类的main()方法中首先使用TV类创建一个对象haierTV,然后使用Family类再创建一个对象zhangsanFamily,并将先前TV类的实例haierTV的引用传递给zhangsanFamily对象的成员变量homeTV。

2.程序模板

TV.java

publicclassTV{

intchannel;

//电视频道

voidsetChannel(intm){

if(m>

=1){

channel=m;

intgetChannel(){

returnchannel;

voidshowProgram(){

switch(channel){

case1:

综合频道"

);

break;

case2:

经济频道"

case3:

文艺频道"

case4:

国际频道"

case5:

体育频道"

default:

不能收看"

+channel+"

频道"

Family.java

publicclassFamily{

TVhomeTV;

voidbuyTV(TVtv){

【代码1】//将参数tv赋值给homeTV

voidremoteControl(intm){

homeTV.setChannel(m);

voidseeTV(){

homeTV.showProgram();

//homeTV调用showProgram()方法

-----------------------------------------------------------------------------------------

MainClass.java

publicclassMainClass{

TVhaierTV=newTV();

【代码2】//haierTV调用setChannel(intm),并向参数m传递5

haierTV的频道是"

+haierTV.getChannel());

FamilyzhangSanFamily=newFamily();

【代码3】//zhangSanFamily调用voidbuyTV(TVtv)方法,并将haierTV传递给参数TV

zhangSanFamily开始看电视节目"

zhangSanFamily.seeTV();

intm=2;

hangSanFamily将电视更换到"

+m+"

zhangSanFamily.remoteControl(m);

hangSanFamily再看电视节目"

3.实验结果

实验3共饮同井水

编写程序模拟两个村庄共用一口水井。

编写一个Village类,该类有一个静态的int型成员变量waterAmount,用于模拟井水的水量。

在主类Land的main()方法中创建两个村庄,一个村庄改变了waterAmount的值,另一个村庄查看waterAmount的值。

Village.java

publicclassVillage{

staticintwaterAmount;

//模拟水井的水量

intpeopleNumber;

//村庄的人数

Stringname;

//村庄的名字

Village(Strings){

name=s;

staticvoidsetWaterAmount(intm){

0)

waterAmount=m;

voiddrinkWater(intn){

if(waterAmount-n>

=0){

waterAmount=waterAmount-n;

System.out.println(name+"

喝了"

+n+"

升水"

else

waterAmount=0;

staticintlookWaterAmount(){

returnwaterAmount;

}

voidsetPeopleNumber(intn){

peopleNumber=n;

intgetPeopleNumber(){

returnpeopleNumber;

-----------------------------------------------------------------------------

Land.java

publicclassLand{

【代码1】//用类名调用setWaterAmount(intm),并向参数传值200

intleftWater=【代码2】//用Village类的类名访问waterAmount

水井中有"

+leftWater+"

升水"

VillagezhaoZhuang,maJiaHeZhi;

zhaoZhuang=newVillage("

赵庄"

maJiaHeZhi=newVillage("

马家河子"

zhaoZhuang.setPeopleNumber(80);

maJiaHeZhi.setPeopleNumber(120);

【代码3】//zhaoZhuang调用drinkWater(intn),并向参数传值50

leftWater=【代码4】//maJiaHeZhi调用lookWaterAmount()方法

Stringname=maJiaHeZhi.name;

System.out.println(name+"

发现水井中有"

maJiaHeZhi.drinkWater(100);

leftWater=【代码5】//zhaoZhuang调用lookWaterAmount()方法

name=zhaoZhuang.name;

intpeopleNumber=zhaoZhuang.getPeopleNumber();

赵庄的人口:

+peopleNumber);

peopleNumber=maJiaHeZhi.getPeopleNumber();

马家河子的人口:

3.实验指导

●当java程序执行时,类的字节码文件被加载到内存,如果该类没有创建对象,类的实例变量就不会被分配内存。

但是,类的类变量,在该类被加载到内存时,就分配了相应的内存变量。

如果该类创建对象,那么不同对象的实例变量互不相同,即分配不同的内存空间,而类变量不再重新分配内存,所有对象共享类变量。

●当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,只有当该类创建对象后,类中的实例方法才分配入口地址。

当使用new运算符和构造方法创建对象时,首先分配成员变量给对象,同时实例方法必须分配入口地址,然后再执行构造方法中的语句,完成必要的初始化。

因而实例方法必须由对象调用执行。

需要注意的是,当创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址,也就是说,方法的入口地址被所有的对象共享。

对于类中的类方法,在该类被加载到内存时,就分配了相应的入口地址,即使该类没有创建对象,也可以直接通过类名调用类方法。

4.扩展练习

(1)【代码3】是否可以是Village.drinkWater(50);

,为什么?

(2)【代码4】是否可以是Village.lookWaterAmount();

(3)Land类main()方法中倒数第2行代码是否可以更改为:

peopleNumber=Village.getPeopleNumber();

为什么?

5.实验结果

实验4求方程的根

1.实验要求

按照实验要求使用package语句将方程属性即计算根的方法封装在一个有包名的类中,包名是tom.jiafei,类的名字是SquareEquation。

编写一个SunRise的主类,该主类使用import语句引入tom.jiafei包中的SquareEquation类。

模板1

将模板1给出的源文件SquareEquation.java编译后得到的字节码文件复制到c:

/1000/tom/jiafei目录中。

SquareEquation.java

packagetom.jiafei;

publicclassSquareEquation{

doublea,b,c;

doubleroot1,root2;

booleanboo;

publicSquareEquation(doublea,doubleb,doublec){

this.a=a;

this.b=b;

this.c=c;

if(a!

=0)

boo=true;

boo=false;

publicvoidgetRoots(){

if(boo){

是一元2次方程"

doubledisk=b*b-4*a*c;

if(disk>

root1=(-b+Math.sqrt(disk))/(2*a);

root2=(-b-Math.sqrt(disk))/(2*a);

System.out.printf("

方程的根:

%f,%f\n"

root1,root2);

else{

方程没有实根\n"

不是一元2次方程"

publicvoidsetCoefficient(doublea,doubleb,doublec){

模板2

1.设置classpath。

假设本地JDK的安装目录是:

D:

\jdk1.6。

在命令行执行如下命令:

setclasspath=D:

\jdk1.6\jre\lib\rt.jar;

.;

c:

\1000;

或右击“我的电脑”->

属性->

系统特性->

高级选项->

环境变量,将classpath的值改为classpath=D:

2.将模板2给出的Java源程序SunRise.java保存到D:

\2000中。

SunRise.java

importtom.jiafei.*;

publicclassSunRise{

SquareEquationequation=newSquareEquation(4,5,1);

equation.getRoots();

equation.setCoefficient(-3,4,5);

3实验指导

⏹如果使用import语句引入了整个包中的类,那么可能会增加编译时间。

但绝不会影响程序运行的性能。

Java运行平台由所需要的Java类库和虚拟机组成,这些类库被包含在一个jre\lib中的压缩文件中,当程序执行时,Java运行平台从类库中加载程序真正使用的类字节码到内存。

⏹可以使用import语言引入自定义包中的类,但必须在classpath中指明包的位置。

实验5实例成员和类成员

掌握实例成员和类成员的使用方法

Example.java

classA

{

【代码1】//声明一个float型实例变量a

【代码2】//声明一个float型类变量b,即static变量b

voidsetA(floata)

{

【代码3】//将参数a的值赋值给成员变量a

voidsetB(floatb)

【代码4】//将参数b的值赋值给成员变量b

floatgetA()

returna;

floatgetB()

returnb;

voidinputA()

{

System.out.println(a);

staticvoidinputB()

System.out.println(b);

publicclassExample

publicstaticvoidmain(Stringargs[])

【代码5】//通过类名操作类变量b,并赋值100

【代码6】//通过类名调用方法inputB()

Acat=newA();

Adog=newA();

【代码7】//cat象调用方法setA(inta)将cat的成员a的值设置为200

【代码8】//cat调用方法setB(intb)将cat的成员b的值设置为400

【代码9】//dog象调用方法setA(inta)将dog的成员a的值设置为150

【代码10】//dog调用方法setB(intb)将dog的成员b的值设置为300

【代码11】//cat调用inputA()。

【代码12】//cat调用inputB()。

【代码13】//dog调用inputA()。

【代码14】//dog调用inputB()。

实验6银行账户

1.实验要求

声明银行账户类,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等信息,成员方法包括开户、存款、取款、查询(余额、明细)、销户等操作。

publicclassAccount{

privateStringacctNumber;

privateStringcustomerName;

privateStringacctOpenTime;

privateStringcustomerIdNum;

privatedoublebalance;

publicAccount(StringaccoutnNumber){

this.acctNumber=accoutnNumber;

publicAccountopenAccount(StringaccountNumber){

returnnewAccount(accountNumber);

publicvoidsave(doublemoney){

this.balance+=money;

publicvoidquery(){

Balanceis:

"

+balance);

//....

2.实验结果

五、本次上机体会

创建一个Rectangle类,添加两个属性width、height。

(1)在Rectangle中添加两个方法计算矩形的周长和面积。

(2)编程利用Rectangle输出一个矩形的周长和面积。

设计一个Array类,添加一个整型数组,添加构造方法对数组赋初值。

(1)为Array类添加数组求和方法,添加返回求和值的方法。

(2)编程利用Array计算数组的和值并输出。

(实验报告如打印,纸张用A4,左装订;

页边距:

上下2.5cm,左2.9cm,右2.1cm;

字体:

宋体小四号,1.25倍行距。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2