实验报告(二)
- 格式: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. 源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。