JAVA实验4-1答案.doc

上传人:b****1 文档编号:133134 上传时间:2022-10-04 格式:DOC 页数:6 大小:118.50KB
下载 相关 举报
JAVA实验4-1答案.doc_第1页
第1页 / 共6页
JAVA实验4-1答案.doc_第2页
第2页 / 共6页
JAVA实验4-1答案.doc_第3页
第3页 / 共6页
JAVA实验4-1答案.doc_第4页
第4页 / 共6页
JAVA实验4-1答案.doc_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

JAVA实验4-1答案.doc

《JAVA实验4-1答案.doc》由会员分享,可在线阅读,更多相关《JAVA实验4-1答案.doc(6页珍藏版)》请在冰豆网上搜索。

JAVA实验4-1答案.doc

GDOU-B-11-112

广东海洋大学学生实验报告书(学生用表)

实验名称

实验四

(1).类与对象(第1部分)

课程名称

Java程序设计与开发技术

课程号

16232204

学院(系)

信息学院

专业

计算机科学与技术

班级

计科1131

学生姓名

彭德权

学号

201311621124

实验地点

钟海楼

04019

实验日期

2015年

9月24日

一、实验目的

(1)学习使用Java中的类来封装对象的属性和功能;

(2)学习掌握Java中对象的组合及参数传递。

二、实验任务

完成实验三指导上实验1、实验2的实验任务。

三、实验仪器设备和材料

安装有J2SE开发工具的PC机。

四、实验内容和步骤

实验1机动车

编写一个Java应用程序,改程序中有两个类:

Vehicle(用于刻画机动车)和User(主类)。

具体要求如实验指导所示。

代码如下:

Vehicle.java

publicclassVehicle{

privatedoublespeed;

privateintpower;

voidspeedUp(ints){

this.speed=this.speed+s;

}

voidspeedDown(ints){

this.speed=this.speed-s;

}

voidsetPower(intp){

this.power=p;

}

intgetPower(){

returnthis.power;

}

doublegetSpeed(){

returnthis.speed;

}

}

User.java

publicclassUser{

publicstaticvoidmain(Stringargs[]){

Vehiclecar1,car2;

car1=newVehicle();

car2=newVehicle();

car1.setPower(128);

car2.setPower(76);

System.out.println("car1的功率是:

"+car1.getPower());

System.out.println("car2的功率是:

"+car2.getPower());

car1.speedUp(80);

car2.speedUp(80);

System.out.println("car1目前的速度:

"+car1.getSpeed());

System.out.println("car2目前的速度:

"+car2.getSpeed());

car1.speedDown(10);

car2.speedDown(20);

System.out.println("car1目前的速度:

"+car1.getSpeed());

System.out.println("car2目前的速度:

"+car2.getSpeed());

}

}

运行结果:

课后的练习

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

voidspeedUp(ints){

if(this.speed+s>200){

System.out.println("速度不能超过200");

}

else{

this.speed=this.speed+s;

}

}

在主方法中更改为car1.speedUp(210);

运行结果:

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

voidspeedDown(ints){

if(this.speed-s<0){

System.out.println("速度不能少于0");

}

else{

this.speed=this.speed-s;

}

}

在主方法中更改为car1.speedUp(80);

car1.speedDown(90);

运行结果:

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

voidbrake(){

this.speed=0;

}

在主方法中增加语句:

System.out.println("car1刹车");

car1.brake();

System.out.println("car1目前的速度:

"+car1.getSpeed());

运行结果:

实验2家中的电视

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

具体要求如实验指导所示。

代码如下:

TV.java

publicclassTV{

intchannel;

voidsetChannel(intm){

if(m>=1){

channel=m;

}

}

intgetChannel(){

returnchannel;

}

voidshowProgram(){

switch(channel){

case1:

System.out.println("综合频道");

break;

case2:

System.out.println("经济频道");

break;

case3:

System.out.println("文艺频道");

break;

case4:

System.out.println("国际频道");

break;

case5:

System.out.println("体育频道");

break;

default:

System.out.println("不能收看"+channel+"频道");

}

}

}

Family.java

publicclassFamily{

TVhomeTV;

voidbuyTV(TVtv){

this.homeTV=tv;

}

voidremoteControl(intm){

homeTV.setChannel(m);

}

voidseeTV(){

homeTV.showProgram();

}

}

MainClass.java

publicclassMainClass{

publicstaticvoidmain(Stringargs[]){

TVhaierTV=newTV();

haierTV.setChannel(5);

System.out.println("haierTV的频道是"+haierTV.getChannel());

FamilyzhangSanFamily=newFamily();

zhangSanFamily.buyTV(haierTV);

System.out.println("zhangSanFamily开始看电视节目");

zhangSanFamily.seeTV();

intm=2;

System.out.println("zhangSanFamily将电视更换到"+m+"频道");

zhangSanFamily.remoteControl(m);

System.out.println("haierTV的频道是"+haierTV.getChannel());

System.out.println("zhangSanFamily再看电视节目");

zhangSanFamily.seeTV();

}

}

运行结果:

课后的练习

(1)省略代码2程序能否通过编译?

若能通过编译,程序输出的结果是怎样的?

能编译通过。

结果如下图,原因是对象内的元素channel是int型数据,默认值为0。

运行结果:

(2)在朱类main()方法的最后增添下列代码,并解释运行效果。

FamilyliiFamily=newFamily();

lisiFamily.buyTV(haierTV);

lisiFamily.seeTV();

因为zhangSanFamily和lisiFamily引用了同一个对象成员haierTV,

导致当zhangSanFamily调用方法remoteControl()改变channel的值时,

lisiFamily中的对象成员的channel值也会改变。

运行结果:

成绩

指导教师

孙兵

日期

2015年9月26日

注:

请用A4纸书写,不够另附纸。

第   页,共   页

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

当前位置:首页 > 初中教育 > 初中作文

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

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