ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:20.67KB ,
资源ID:4077153      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4077153.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ava程序设计试验学生版.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ava程序设计试验学生版.docx

1、ava程序设计试验学生版华北电力大学实 验 报 告实验名称 Java 程序面向对象设计(一)课程名称 Java 程序设计专业班级: 学生姓名:学 号:成 绩:指导教师:张学斌实验日期:一、实验目的及要求1.掌握类的定义。2.掌握成员变量和成员方法的定义。3.掌握结构方法的定义和使用。4.掌握类的多态性二、实验环境Windows2000/Windows XP ,三、试验内容和步骤要求依据实验内容,写出详尽实验过程和步骤,必需时截图。实验 1 灵活车1.1 实验要求编写一个Java 应用程序,该程序有两个类:Vehicle(用于刻画灵活车)和User(主类)。详细要求以下:Vehicle 类有一个

2、灵活车的功率。定义了车有减速功能。定义了double 种类的变量 speed,用于刻画灵活车的速度,一个 int 型变量 power ,用于刻画speedUp(int s) 方法,表现灵活车有加快功能。定义了 speedDown() 方法,表现灵活setPower(int s),用于设置灵活车的功率。定义了 getPower() 方法,用于获得灵活车的功率。在主类User的 mian() 方法顶用Vehicle 类创立对象,并让该对象调用方法设置功率,演示加快和减速功能。1.2 程序模板public class Vehicle 【代码1】 / 申明double型变量speed,刻画速度【代码2

3、】 / 申明int型变量power, 刻画功率void speedUp(int s) 【代码3】/将参数s 的值与成员变量speed 的和赋值给成员变量speedvoid speedDown(int d) 【代码4】 /将成员变量speed 与参数d 的差赋值给成员变量speedvoid setPower(int p) 【代码 5】 /将参数 p 的值赋值给成员变量 powerint getPower() 【代码 6】 /返回成员变量 power 的值double getSpeed() return speed;-public class User public static void mai

4、n(String args) Vehicle car1,car2;【代码【代码7】 /使用8】 /使用new new运算符和默认的结构方法创立对象运算符和默认的结构方法创立对象car1car2car1.setPower(128);car2.setPower(76);【代码9】 /car1调用 speedUp 方法将自己的speed 的值增添80【代码10】 /car2调用 speedUp 方法将自己的speed 的值增添80car1.speedDown(10);car2.speedDown(20);1.3 实验指导创立一个对象时,成员变量被分派空间,这些内存空间称作该对象的实体或变量,而对象中

5、寄存着引用,以保证这些变量被该对象操作使用。空对象不可以使用,即不可以让一个空对象去调用方法产生行为。若是程序中使用了空对象,在运行时会产生异样: NullPointerException ,对象时动向地分派实体的, Java 的编译器对空对象不做检查。所以,在编译时要防止使用空对象。1.4 实验改良 (编写程序,并给出结果)1.改良 speedUp()方法,使得 Vehicle 类的对象加快时不可以将speed 值超出 200.2.改良 speedDown() 方法,使得 Vehicle类的对象在减速时不可以将speed 值小于 0.3.增进一个刹车方法 void brake(),Vehic

6、le类的对象调用它能将speed 的值变为 0.实验结果实验 2 家中的电视1.实验要求编写一个 Java 应用程序,模拟家庭买一台电视,即家庭将电视作为自己的一个成员,即经过调用一个方法将某个电视的引用传达给自己的电视成员。详细要求以下:有三个源文件,此中创立“家庭”对象,TV.java 中的 TV 类负责创立“电视”对象。MainClass.java 是主类。中的Family类负责在主类的 main() 方法中第一使用象 zhangsanFamily ,并将先前TVTV 类创立一个对象类的实例 haierTVhaierTV ,而后使用 Family 类再创立一个对的引用传达给 zhangs

7、anFamily 对象的成员变量 homeTV 。2. 程序模板public class TV int channel; /电视频道void setChannel(int m) if(m=1)channel=m;int getChannel()return channel;void showProgram()switch(channel) break;break;break;break;break;-public class Family TV homeTV;void buyTV(TV tv) 【代码1】/将参数tv赋值给homeTVvoid remoteControl(int m) home

8、TV.setChannel(m);void seeTV() homeTV.showProgram();/homeTV调用showProgram()方法-public class MainClass public static void main(String args) TV haierTV = new TV();【代码 2】 /haierTV 调用 setChannel(int m), 并向参数 m 传达Family zhangSanFamily = new Family();【代码 3】 /zhangSanFamily 调用 void buyTV(TV tv) 方法 ,并将5haierTV

9、传达给参数TVzhangSanFamily.seeTV();int m=2;zhangSanFamily.remoteControl(m);zhangSanFamily.seeTV();3.实验结果实验3共饮同井水1.实验要求编写程序模拟两个乡村共用一口水井。编写一个Village类,该类有一个静态的int型成员变量waterAmount,用于模拟井水的水量。在主类Land的main() 方法中创立两个乡村,一个乡村改变了waterAmount的值,另一个乡村查察waterAmount的值。2.程序模板public class Village static int waterAmount;/

10、模拟水井的水量int peopleNumber;/乡村的人数String name;/ 乡村的名字Village(String s) name = s;static void setWaterAmount(int m) if(m0)waterAmount = m;void drinkWater(int n)if( waterAmount-n=0) waterAmount = waterAmount-n;elsewaterAmount = 0;static int lookWaterAmount() return waterAmount;void setPeopleNumber(int n) p

11、eopleNumber = n;int getPeopleNumber() return peopleNumber;-public class Land public static void main(String args) 【代码1】/ 用类名调用setWaterAmount(int m),并向参数传值200int leftWater =【代码2】/用Village类的类名接见waterAmountVillage zhaoZhuang,maJiaHeZhi;zhaoZhuang = new Village( 赵庄 );maJiaHeZhi = new Village( 马家河子 );zha

12、oZhuang.setPeopleNumber(80);maJiaHeZhi.setPeopleNumber(120);【代码 3】 /zhaoZhuang 调用 drinkWater(int n), 并向参数传值50leftWater = 【代码 4】 /maJiaHeZhi调用 lookWaterAmount()方法String name=maJiaHeZhi.name;maJiaHeZhi.drinkWater(100);leftWater = 【代码 5】 /zhaoZhuang 调用 lookWaterAmount()方法name=zhaoZhuang.name;int people

13、Number = zhaoZhuang.getPeopleNumber();peopleNumber = maJiaHeZhi.getPeopleNumber();3.实验指导当 java 程序履行时,类的字节码文件被加载到内存,假如该类没有创立对象,类的实例变量就不会被分派内存。可是,类的类变量,在该类被加载到内存时,就分派了相应的内存变量。假如该类创立对象,那么不一样对象的实例变量互不同样,即分派不一样的内存空间,而类变量不再从头分派内存,全部对象共享类变量。当类的字节码文件被加载到内存时,类的实例方法不会被分派进口地点,只有当该类创立对象后,类中的实例方法才分派进口地点。当使用 new

14、运算符和结构方法创立对象时,第一分派成员变量给对象,同时实例方法一定分派进口地点,而后再履行结构方法中的语句,达成必需的初始化。因此实例方法一定由对象调用履行。需要注意的是,当创立第一个对象时,类中的实例方法就分派了进口地点,当再创立对象时,不再分派进口地点,也就是说,方法的进口地点被全部的对象共享。关于类中的类方法,在该类被加载到内存时,就分派了相应的进口地点,即便该类没有创立对象,也能够直接经过类名调用类方法。4.扩展练习(1)【代码 3】能否能够是 Village.drinkWater(50); ,为何?(2)【代码 4】能否能够是 Village.lookWaterAmount();

15、,为何?(3) Land 类 main() 方法中倒数第 2 行代码能否能够改正为:peopleNumber = Village.getPeopleNumber(); 为何?5.实验结果实验 4 求方程的根1.实验要求依据实验要求使用tom.jiafei ,类的名字是package 语句将方程属性即计算根的方法封装在一个有包名的类中,包名是SquareEquation 。编写一个 SunRise 的主类,该主类使用 import 语句引入包中的 SquareEquation 类。2.程序模板模板 1将模板 1 给出的源文件 SquareEquation.java 编译后获得的字节码文件复制到

16、c:/1000/tom/jiafei 目录中。package tom.jiafei;public class SquareEquation double a,b,c;double root1,root2;boolean boo;public SquareEquation(double a,double b,double c) this.a=a;this.b=b;this.c=c;if(a!=0)boo=true;elseboo=false;public void getRoots() if(boo) double disk=b*b-4*a*c;if(disk=0) root1=(-b+Math

17、.sqrt(disk)/(2*a);root2=(-b-Math.sqrt(disk)/(2*a);else else public void setCoefficient(double a,double b,double c) this.a=a;this.b=b;this.c=c;if(a!=0)boo=true;elseboo=false;模板 21.设置 classpath。假定当地 JDK 的安装目录是: D:jdk1.6 。在命令行履行以下命令: set classpath = D:jdk1.6jrelibrt.jar;.;c:1000;或 右击“我的电脑” - 属性 - 系统特征

18、- 高级选项 - 环境变量 ,将 classpath 的值改为 classpath = D:jdk1.6jrelibrt.jar;.;c:1000;2.将模板 2 给出的 Java 源程序 SunRise.java 保留到 D:2000 中。import tom.jiafei.*;public class SunRise public static void main(String args) SquareEquation equation=new SquareEquation(4,5,1);equation.getRoots();equation.setCoefficient(-3,4,5)

19、;equation.getRoots();3实验指导假如使用 import 语句引入了整个包中的类,那么可能会增添编译时间。但绝不会影响程序运转的性能。 Java 运转平台由所需要的 Java 类库和虚构机构成,这些类库被包含在一个 jrelib压缩文件中,当程序履行时, Java 运转平台从类库中加载程序真实使用的类字节码到内存。能够使用 import 语言引入自定义包中的类,但一定在 classpath 中指明包的地点。中的实验 5 实例成员和类成员1.实验要求掌握实例成员和类成员的使用方法2.程序模板class A【代码 1】【代码 2】void setA(float a)/ 申明一个/

20、 申明一个float float型实例变量 a型类变量 b,即 static变量b【代码3】/ 将参数a 的值赋值给成员变量avoid setB(float b)【代码 4】 /将参数 b 的值赋值给成员变量 bfloat getA()return a;float getB()return b;void inputA()static void inputB()public class Examplepublic static void main(String args)【代码5】/ 经过类名操作类变量b,并赋值 100【代码6】/ 经过类名调用方法inputB()A cat=new A();A

21、 dog=new A();【代码 7】/cat 象调用方法 setA(int a) 将 cat 的成员 a 的值设置为 200【代码 8】/cat 调用方法 setB(int b) 将 cat 的成员 b 的值设置为 400【代码 9】/dog 象调用方法 setA(int a) 将 dog 的成员 a 的值设置为 150【代码 10 】/dog 调用方法 setB(int b) 将 dog 的成员 b 的值设置为 300【代码 11 】/cat 调用 inputA() 。【代码 12 】/cat 调用 inputB() 。【代码 13 】/dog 调用 inputA() 。【代码 14 】/

22、dog 调用 inputB() 。实验 6 银行账户1.实验要求申明银行账户类,成员变量包含账号、储户姓名、开户时间、身份证号码、存款余额等信息,成员方法包含开户、存款、取款、查问(余额、明细)、销户等操作。public class Accountprivate String acctNumber;private String customerName;private String acctOpenTime;private String customerIdNum;private double balance;public Account(String accoutnNumber)this.a

23、cctNumber = accoutnNumber;public Account openAccount(String accountNumber)return new Account(accountNumber);public void save(double money)this.balance += money;public void query()/.2.实验结果五、本次上机领会创立一个 Rectangle 类,增添两个属性 width 、 height 。(1)在 Rectangle 中增添两个方法计算矩形的周长和面积。(2)编程利用 Rectangle 输出一个矩形的周长和面积。设计一个 Array 类,增添一个整型数组,增添结构方法对数组赋初值。(1)为 Array 类增添数组乞降方法,增添返回乞降值的方法。(2)编程利用 Array 计算数组的和值并输出。(实验报告如打印,纸张用 A4,左装订;页边距:上下 2.5cm, 左 2.9cm,右;字体:宋体小四号, 1.25 倍行距。)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1