GDOU-B-11-112

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

实验名称 学院(系) 学生姓名

实验四(1). 类与对象(第1

部分) 信息学院 彭德权

专业

Java程序设计与开发

课程名称 课程号 16232204

技术 计算机科学与技术

钟海楼 04019

班级 计科1131 2015年

实验日期

9月24日

学号 201311621124 实验地点

一、实验目的

(1)学习使用Java中的类来封装对象的属性和功能; (2)学习掌握Java中对象的组合及参数传递。

二、实验任务

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

三、实验仪器设备和材料

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

四、实验内容和步骤 实验1 机动车

编写一个Java应用程序,改程序中有两个类:Vehicle(用于刻画机动车)和User(主类)。具体要求如实验指导所示。

代码如下: Vehicle.java

public class Vehicle{ private double speed; private int power; void speedUp(int s){

this.speed=this.speed+s; }

void speedDown(int s){

this.speed=this.speed-s; }

void setPower(int p){ this.power=p; }

int getPower(){

return this.power;

}

double getSpeed(){ return this.speed; } }

User.java

public class User{

public static void main(String args[]){ Vehicle car1,car2; car1=new Vehicle(); car2=new Vehicle(); car1.setPower(128); car2.setPower(76);

System.out.println(\的功率是:\ System.out.println(\的功率是:\ car1.speedUp(80); car2.speedUp(80);

System.out.println(\目前的速度:\ System.out.println(\目前的速度:\ car1.speedDown(10); car2.speedDown(20);

System.out.println(\目前的速度:\ System.out.println(\目前的速度:\ } }

运行结果:

课后的练习

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

void speedUp(int s){

if(this.speed+s>200){

System.out.println(\速度不能超过200\ }

else{

this.speed=this.speed+s; } }

在主方法中更改为car1.speedUp(210); 运行结果:

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

void speedDown(int s){ if(this.speed-s<0){

System.out.println(\速度不能少于0\ } else{

this.speed=this.speed-s; } }

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

car1.speedDown(90);

运行结果:

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

void brake(){ this.speed=0; }

在主方法中增加语句:

System.out.println(\刹车\ car1.brake();

System.out.println(\目前的速度:\运行结果:

实验2 家中的电视

编写一个Java应用程序,模拟家庭购买一台电视,即家庭将电视作为自己的一个成员,即通过调用一个方法将某个电视的引用传递给自己的电视成员。具体要求如实验指导所示。

代码如下: TV.java

public class TV{ int channel;

void setChannel(int m){ if(m>=1){

channel=m; } }

int getChannel(){ return channel; }

void showProgram(){ switch(channel){

case 1:System.out.println(\综合频道\ break;

case 2:System.out.println(\经济频道\ break;

case 3:System.out.println(\文艺频道\ break;

case 4:System.out.println(\国际频道\ break;

case 5:System.out.println(\体育频道\ break;

default:System.out.println(\不能收看\频道\ }

} }

Family.java

public class Family{ TV homeTV;

void buyTV(TV tv){ this.homeTV=tv; }

void remoteControl(int m){ homeTV.setChannel(m); }

void seeTV(){

homeTV.showProgram(); } }

MainClass.java

public class MainClass{

public static void main(String args[]){ TV haierTV=new TV(); haierTV.setChannel(5);

System.out.println(\的频道是\ Family zhangSanFamily=new Family(); zhangSanFamily.buyTV(haierTV);

System.out.println(\开始看电视节目\ zhangSanFamily.seeTV(); int m=2;

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

System.out.println(\的频道是\ System.out.println(\再看电视节目\ zhangSanFamily.seeTV(); } }

运行结果:

课后的练习

(1) 省略代码2程序能否通过编译?若能通过编译,程序输出的结果是怎样的?

能编译通过。结果如下图,原因是对象内的元素channel是int型数据,默认值为0。 运行结果:

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

Family liiFamily=new Family(); lisiFamily.buyTV(haierTV); lisiFamily.seeTV();

因为zhangSanFamily和lisiFamily引用了同一个对象成员haierTV, 导致当zhangSanFamily调用方法remoteControl()改变channel的值时, lisiFamily中的对象成员的channel值也会改变。

运行结果:

成绩 指导教师

孙兵

日期 2015年9月26日

第 页,共 页

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

java实验及答案_JAVA实验4-1答案相关推荐

  1. java实验报告答案_Java实验报告--继承与接口

    学院 专业 班.学号 姓名 教师评定_________________ 实验题目 继承与接口 一. 实验目的与要求 实验目的: 1.掌握类的继承关系. 2.掌握接口的定义与使用. 实验要求: 按下列要 ...

  2. java实验3答案_java实验3 .doc

    [单选题]主机甲与主机乙之间建立一个TCP连接,主机甲向主机乙发送了3个连接的TCP段,分别包含300字节.400字节和500字节的有效载荷,第3个段的序号为900.若主机乙仅正确接收第1和第3个段, ...

  3. java 实验报告模板_Java实验报告模板.doc.doc

    Java实验报告模板.doc 实 验 报 告 课程名称Java面向对象程序设计实验名称检查危险品姓名吴超益学号201424134114专业年级14物联网一.实验目的: 本实验的目的是让学生掌握try- ...

  4. java实验的总结_Java实验总结——初学(上)

    实验一 集合(一) [实验目的与要求] 1.了解Java集合类的概念: 2.掌握常用集合类的使用方法和技巧,并能应用到实际操作中. [实验内容] 1.请编写一个程序,要求如下:1)首先生成10个1至1 ...

  5. java作品设计报告书_java实验报告书格式模板.doc

    java实验报告书格式模板.doc 广东第二师范学院 计算机科学系 实验报告Java实验报告实验名称 实验分组号 实 验 人 班 级 学 号 实验指导教师 实验场地 实验时间 成 绩 a51ced6b ...

  6. java实验报告二_java实验报告二

    北京电子科技学院(BESTI) 实验报告 课程:java程序设计                        班级:1351             姓名:陈民禾      学号:20135124 ...

  7. java实体类设计_java实验1 实体类的设计-答案

    实验一实体类设计 一.实验时间:姓名:学号: 二.实验目的 1.掌握Java的类结构: 2.掌握实体类的作用: 3.能够对相似对象的共同属性进行抽象: 4.掌握对成员变量的赋值和取值函数编写: 5.理 ...

  8. java实验作业答案_JAVA实验作业 JAVA题目

    只供参考,抄袭可耻,复制不一定可以使用 实验6:继承与多态 1.定义一个Employee雇员类,含:姓名.年龄.工资等字段:继承Employee类设计Manager经理类,增加:管理人员数等字段:经理 ...

  9. java实验报告二_Java实验报告(实验二)

    (1)伪代码  (2)产品代码  (3)测试代码 a.首先在虚拟机中建立一个以自己学号命名的文件夹,以存放自己实验中的代码.运行结果以及截图 2.按照实验说明里的要求,将代码输入,并运行出结果: 做以 ...

最新文章

  1. 让看不见的AI算法,助你拿下看得见的广阔市场
  2. 99. Recover Binary Search Tree (Tree; DFS)
  3. promise 实现依次循环 请求数据
  4. 洛谷精选 - 字符串合集
  5. 基于语音识别的微博签到系统
  6. 如何帮用户管好云账本?阿里云数据库助力收钱吧 | 甲子光年
  7. [Ajax] 实现跨域访问
  8. pytorch from_numpy
  9. @游戏开发者,ImGUI 能成为 GUI 的未来吗?
  10. 结对项目---万年历
  11. VirtualBox中增强工具的安装
  12. P4与5G UPF实践
  13. Scrum敏捷开发模式
  14. webview适配(一):文件选择,相机拍照,相册选择
  15. ios error90096 错误
  16. python storm连接mysql_Python ORM Storm 源码修改
  17. 360Wonder监控系统,设计和开发经验之谈
  18. RabbitMQ实战指南之RabbitMQ架构及运转流程
  19. Apache安装时出现OS:拒绝访问的解决办法
  20. springboot游泳池管理系统

热门文章

  1. 基于MATLAB的无刷直流调速系统的设计与仿真
  2. 云计算对电子商务行业的影响
  3. 密钥ssh 配置操作
  4. 自如网杭州市租房数据分析(1)
  5. LED应用于非照明领域的技术趋势
  6. 关于“尺蠖(huò)效应”
  7. Mac教程:如何开启任何来源选项?
  8. openlayer 获取天地图
  9. 程序员修炼之道读后感(一)
  10. OSError: (External) Cublas error, CUBLAS_STATUS_NOT_INITIALIZED. The cuBLAS library was not Initia