实验报告(二)

  • 格式:doc
  • 大小:107.57 KB
  • 文档页数:8

.

.. 北京信息科技大学

信息管理学院

实 验 报 告

课程名称 java程序设计

实验项目 实验二 类和对象

实验仪器 PC、jdk 、jcreator

专 业_______ _________

班级/学号________ ___

学生姓名 _______ __________

实验日期

实验地点

成 绩 _______________________

指导教师 _____李春强_____________

.

.. 一、实验目的

1.掌握类、对象的定义和使用;

2.掌握使用类封装对象的属性和功能;

3.掌握对象的组合以及参数的传递;

4.掌握类变量和实例变量,以及类方法和实例方法的区别;

5.掌握包的定义和使用。

二、实验内容

1.机动车:

编写一个java应用程序,该程序中有两个类:Vehicle(用于刻画机动车)和User(主类)。具体要求如下:

(1)Vehicle类有一个double类型的speed,用于刻画机动车的速度,一个int类型变量power,用于刻画机动车的功率。方法定义了speedUp(int s)方法,体现机动车有加速功能,定义了speedDown()方法,体现机动车有减速功能,方法setPower(int p)用于设置机动车的功率,方法getPower()方法,用于获取机动车的功率。

(2)在主类User的main()方法中用Vehicle类创建对象,并让该对象调用方法设置功率,演示加速和加速功能。

2.家中的电视:

编写一个java应用程序,模拟家庭买一台电视,即家庭将电视作为自己的一个成员,即调用一个方法将谋个电视的应用传递给自己的电视成员。具体要求如下: .

.. (1)有三个源文件:TV.java、Familiy.java和MainClass.java,其中TV.java中的TV类负责创建“电视”对象,Familiy.java中的Familiy类负责创建“家庭”对象,MainClass.java是主类。

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

3. 共饮同井水

编写程序模拟两个村庄共用一口井水。编写一个Village类,该类有一个静态的int类型成员变量waterAmount,用于模拟井水的水量,在主类Land的main()方法中创建两个村庄,一个村庄改变了waterAmount的值,另一村庄查看waterAount的值,另一村庄查看waterAmount的值。

4.求方程的根

使用package语句将方程的属性即计算根的方法封装在一个有包名的类中,包名是wukong.xiyou,类的名字是SquraEquation。编写一个SunRise的主类,该主类使用import语句应用wukong.xiyou包中的SquraEquation类。 .

.. 三、实验要求

1. 理解java程序封装的特点,编制完整的相关java程序。

2. 编写并调试程序lab2-1,lab2-2,lab2-3,lab2-4,掌握类和对象等基本使用方法。

四、实验准备

1.一台电脑。

2.jdk开发环境。

3.java上机的基本操作。

五、实验过程

Lab2_1:

package 机动车;

public class user {

public static void main (String args[]){

vehicle v =new vehicle();

System.out.println("机动车功率为:"+v.setPower(100));

v.speedUp(15);

v.speedDown(8);

}

}

public class vehicle {

double speed;

int power;

void speedUp(int s){

this.speed=s;

System.out.println("机动车加速,速度为"+s);

}

void speedDown(int t){

this.speed=t;

System.out.println("机动车减速,速度为"+t);

}

int setPower(int p){ .

.. return p;

}

int getPower(int q){

return q;

}

}

Lab2_2:

public class TV {

void play(){

System.out.println("正在播放动物世界");

}

}

public class Family {

TV homeTV;

void buyTV(TV tv){

tv=this.homeTV;

System.out.println("购买一台电视");

}

}

public class MainClass {

public static void main(String args[]){

TV haierTV=new TV();

Family zhangsanFamily =new Family();

zhangsanFamily.buyTV(haierTV);

haierTV.play();

}

}

Lab2_3:

public class Land {

public static void main(String args[]){

Village.WaterAmount=200; .

.. System.out.println("水井中有水"+Village.WaterAmount+"升");

Village v1=new Village();

Village v2=new Village();

int m=50;

System.out.println("v1从水井中取水"+m+"升");

v1.WaterAmount-=m;

System.out.println("v2发现水井中有水"+Village.WaterAmount+"升");

System.out.println("v2从水井中取水"+m+"升");

v2.WaterAmount-=m;

System.out.println("v1发现水井中有水"+Village.WaterAmount+"升");

}

}

public class Village {

public static int WaterAmount;

}

Lab2_4:

import wukong.xiyou.*;

public class SunRise{

public static void main(String args[]){

SquraEquation sq=new SquraEquation();

sq.getRoot(100);

System.out.println("此数的平方根为"+"sq.getRoot()");

}

}

package java.wukong.xiyou; .

.. public class SquraEquation{

public double getRoot(double num){

return Math.sqrt(num);

}

}

.

.. 六、实验总结:

1.

2.

3.

………………..

说明:

1. 实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;

2. 实验准备由学生在实验或上机之前填写,教师应该在实验前检查;

3. 实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;

4. 实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;

5. 源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。