实验四-类与对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四类与对象

1.实验目的

1、使用类来封装对象的属性和行为;

2、掌握对象的组合以及参数传递;

3、掌握类变量与实例变量,以及类方法与实例方法的区别

2.实验内容

1、参考教科书,完成下面实验:

1)实验1 Tank类

2)实验2 计算机与光盘

3)实验3 家族的姓氏

4)实验4 三角形、梯形和圆形的类封装

5)实验5 实例成员与类成员

2、完成习题:

1)根据要求修改实验1,改进speedUP方法,使得Tank类的对象加速时不能将speed值超过220;增加一个刹车方法:void brake(),Tank类的对象调用它能将speed的值变成0。

2)根据要求修改实验2,主类中再增加一个CD的对象,然后将计算机中的数据(data数组)复制到CD对象中。

3、提高题

编写储蓄账户类及测试类,模拟存款,参考以下运行方式:

(1)新开5个储蓄账户,各储蓄账户的编号、户名在新开储蓄账户时初始化,假设每位用户新开储蓄账户时都存入了一笔钱。

(2)提示用户从键盘输入储蓄账户编号。

(3)若输入的储蓄账户编号与新开的5个储蓄账户编号之一匹配,则提示用户从键盘输入存款金额,存款金额必须大于0,否则显示错误提示,直到用户输入的存款金额大于0为止。

(4)相应储蓄账户的余额被更新。

(5)存款完成后,提示存款成功,显示该储蓄账户的编号、户名、余额。

(6)若输入的储蓄账户编号与新开的5个储蓄账户编号均无法匹配,显示错误提示,并询问是否还要继续存款。

(7)用户输入yes,继续执行步骤(2),否则显示退出信息。

最基本要求:绘制UML类图;储蓄账户的余额必须确保大于等于0。

3.实验步骤

参考教材中相关的实验。

4.评分标准

1.A——内容功能完善,编程风格好,人机接口界面好;

2.B——内容功能完善,编程风格良好,人机接口界面良好;

3.C——完成必做内容;

4.D——能完成必做内容;

5.E——未按时完成必做内容,或者抄袭(雷同者全部为E).

参照书上实验按模版要求,将【代码】替换为Java程序代码,编写好完整的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交。(压缩包的文件名为:学号后三位和名字开头字母,如109zhh.RAR|ZIP)

实验1 Tank类

模板代码

Tank.java

public class Tank {

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

//【代码2】//声明int型变量bulletAmount,刻画炮弹数量

void speedUp(int s){

//【代码3】//s+speed赋值给speed

}

void speedDown(int d){

if(speed-d>=0)

//【代码4】//d-speed赋值给speed

else

speed=0;

}

int getBulletAmount() {

return bulletAmount;

}

void setBulletAmount(int m) {

bulletAmount = m;

}

double getSpeed() {

return speed;

}

void fire(){

if(bulletAmount>=1){

//【代码5】//将bulletAmount-1赋值给bulletAmount

System.out.println("打出一发炮弹");

}

else{

System.out.println("没有炮弹了,无法开火");

}

}

}

Fight.java

public class Fight {

public static void main(String[] args) {

Tank tank1,tank2;

tank1=new Tank();

tank2=new Tank();

tank1.setBulletAmount(10);

tank2.setBulletAmount(10);

System.out.println("tank1的炮弹数量:"+tank1.getBulletAmount());

System.out.println("tank2的炮弹数量:"+tank2.getBulletAmount());

tank1.speedUp(80);

tank2.speedUp(90);

System.out.println("tank1目前的速度:"+tank1.getSpeed());

System.out.println("tank2目前的速度:"+tank2.getSpeed());

tank1.speedDown(15);

tank2.speedDown(30);

System.out.println("tank1目前的速度:"+tank1.getSpeed());

System.out.println("tank2目前的速度:"+tank2.getSpeed());

System.out.println("tank1开火:");

tank1.fire();

System.out.println("tank2开火:");

tank2.fire();

System.out.println("tank1的炮弹数量:"+tank1.getBulletAmount());

System.out.println("tank2的炮弹数量:"+tank2.getBulletAmount());

}

}

实验2 计算机与光盘

模板代码

CD.java

public class CD {

int size;

相关文档
最新文档