Java程序设计实验报告.doc_第1页
Java程序设计实验报告.doc_第2页
Java程序设计实验报告.doc_第3页
Java程序设计实验报告.doc_第4页
Java程序设计实验报告.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学 生 实 验 报 告 册(理工类)课程名称:JAVA程序设计实验专业班级:M11计算机科学与技术II 学生学号: 1121117031 学生姓名: 赵慧 所属院部: 龙蟠学院 指导教师: 董军 20 13 20 14 学年 第 二 学期 金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。填写注意事项(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。(3)尽量采用专用术语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按金陵科技学院课堂教学实施细则中作业批阅成绩评定要求执行。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。金陵科技学院实验报告实验项目名称: 面向对象编程实验 实验学时: 8 同组学生姓名: 实验地点: 1414 实验日期: 3.28 4.4 实验成绩: 批改教师: 批改时间: 实验1 面向对象编程实验一、实验目的和要求(1)理解Java概念、掌握JDK环境配置(2)熟悉Java开发过程(3)掌握Java面向对象编程基础:封装、继承、多态(4)掌握Java接口编程,理解开发模式二、实验仪器和设备奔腾以上个人计算机, windows操作系统。配置好JDK环境,安装集成开发环境(Eclipse)三、实验内容与过程1、JDK环境配置2、面向对象的封装性范例:设计一个表示学生的类,里面有学生的三项成绩:计算机成绩、数学成绩、英语成绩。要求可以求总分、平均分、最高分、最低分,并且可以输出一个学生的完整信息。 代码如下:class Studentprivate String name ;private int age ;private float english ;private float computer ;private float math ;public Student()public Student(String n,int a,float e,float c,float m)this.setName(n) ;this.setAge(a) ;this.setEnglish(e) ;this.setComputer(c) ;this.setMath(m) ;public float sum()return english + computer + math ;public float avg()return this.sum() / 3 ;public float max()float max = computermath?computer:math ;max = maxenglish?max:english ;return max ;public float min()float min = computermath?computer:math ;min = min0)this.temp = new intlen ;/ 此时大小由外部决定elsethis.temp = new int1 ;/ 至少开辟一个空间public boolean add(int i)/ 加入数据操作if(this.footthis.temp.length)/ 还有空位this.tempthis.foot = i ;/ 加入内容this.foot+ ;/ 改变长度return true ;/ 加入成功返回trueelsereturn false ;/ 加入失败public int getArray()/ 返回全部的数组return this.temp ;class SortArray extends Arraypublic SortArray(int len)super(len) ;public int getArray()java.util.Arrays.sort(super.getArray() ;/ 排序操作return super.getArray() ;/ 返回的是排序后的内容class ReverseArray extends Arraypublic ReverseArray(int len)super(len) ;public int getArray()int rt = new intsuper.getArray().length ;/ 根据大小开辟新数组int count = rt.length-1 ;for(int x=0;xsuper.getArray().length;x+)rtcount = super.getArray()x ;count- ;return rt ;public class ArrayDemopublic static void main(String args)ReverseArray arr = new ReverseArray(6) ;System.out.println(arr.add(3) ;System.out.println(arr.add(23) ;System.out.println(arr.add(1) ;System.out.println(arr.add(5) ;System.out.println(arr.add(6) ;System.out.println(arr.add(8) ;System.out.println(arr.add(11) ;System.out.println(arr.add(16) ;print(arr.getArray() ;public static void print(int i)for(int x=0;xi.length;x+)System.out.print(ix + 、) ;对照范例写出如下题目:(1).创建GrandFather类,其中包括a)属性:姓名(name),年龄(age)b)方法getGrandFather():显示爷爷的信息c)构造方法:给爷爷的姓名,年龄赋值(2).创建Father类,继承Grandfather类a)属性:除了继承爷爷的属性以外,还要增加自己的属性:“职业”(occupation)b)构造方法:显式调用父类的构造方法,为Father类的姓名和年龄赋初始值。再为职业输入初始值。c) 方法getFather(): 显示父亲的相关信息(3). 创建ClassMain()类,定义main()方法,构造GrandFather类的对象和Father类的对象,并分别显示详细信息。4、面向对象多态性范例:计算柱体的体积。柱体体积计算公式是:底部面积乘以高度柱体底部分为 圆形和矩形要求:通过抽象类和多态实现package cn.jit.demo;abstract class Bottom /父类抽象类 底部public abstract double calculatorArea();class CircleBottom extends Bottom /圆形底/* * 半径 */private double radius;Overridepublic double calculatorArea() return Math.PI * radius * radius;public double getRadius() return radius;public void setRadius(double radius) this.radius = radius;public CircleBottom(double radius) super();this.radius = radius;class SquareBottom extends Bottom /矩形底private double sideA;private double sideB;public double getSideA() return sideA;public void setSideA(double sideA) this.sideA = sideA;public double getSideB() return sideB;public void setSideB(double sideB) this.sideB = sideB;Overridepublic double calculatorArea() return sideA * sideB;public SquareBottom(double sideA, double sideB) super();this.sideA = sideA;this.sideB = sideB;class ZhuTi /柱体类,完成形状的拼装/* * 底 */private Bottom bottom;/* * 高 */private double height;/* * 计算体积 * return */public double calculatorVolumn()return bottom.calculatorArea() * height;public ZhuTi(Bottom bottom, double height) super();this.bottom = bottom;this.height = height;public Bottom getBottom() return bottom;public void setBottom(Bottom bottom) this.bottom = bottom;public double getHeight() return height;public void setHeight(double height) this.height = height;public void changeBottom(Bottom bottom)this.bottom = bottom;public class VolumnTest /测试类public static void main(String args) Bottom bottom = new CircleBottom(1.0);double height = 1.0;ZhuTi zhuTi = new ZhuTi(bottom,height);double result = zhuTi.calculatorVolumn();System.out.println(圆柱体的体积是: + result);bottom = new SquareBottom(1.0,1.0);zhuTi.changeBottom(bottom);result = zhuTi.calculatorVolumn();System.out.println(立方体的体积是: + result);范例:接口和多态的应用,例如:电脑上实现了USB接口,U盘,打印机等等也都实现了此标准。interface USBpublic void start() ;/ 开始工作public void stop() ;/ 结束工作class Computerpublic static void plugin(USB usb)usb.start() ;usb.stop() ;class Flash implements USBpublic void start()System.out.println(U盘开始工作。) ;public void stop()System.out.println(U盘停止工作。) ;class Print implements USBpublic void start()System.out.println(打印机开始工作。) ;public void stop()System.out.println(打印机停止工作。) ;public class InterPolDemo02public static void main(String args)Computer.plugin(new Flash() ;Computer.plugin(new Print() ;对照范例,写出以下程序:(1) 乐器(Instrument)的标准为弹奏(play),而乐器类型分为:钢琴(Piano)和小提琴(Violin),各种乐器的弹奏方法各不同。编写代码实现不同乐器的弹奏。(2) 计算机模拟四、实验结果与分析(程序运行结果及其分析)2.(3)class Circle private int radius; public Circle(int r) this.setRadius(r); public void setRadius(int r) radius=r; public int getRadius() return radius; public double printArea() return 3.14*radius*radius; public double printChang() return 2*3.14*radius; public class TestCircle public static void main(String args) Circle c1=new Circle(6); System.out.println(面积为+c1.printArea(); System.out.println(周长为+c1.printChang(); 3.class GrandFatherprivate String name;private int age;public GrandFather(String name,int age)this.setName(name);this.setAge(age);public void setName(String name)=name;public void setAge(int age)this.age=age;public String getName()return name;public int getAge()return age;public String getGrandFather()return 爷爷的姓名:+getName()+ +年龄:+getAge();class Father extends GrandFatherprivate String occupation;public Father(String name,int age,String occupation)super(name,age);this.setOccupation(occupation);public void setOccupation(String occupation)this.occupation=occupation;public String getOccupation()return occupation;public String getFather()return 爸爸的姓名:+getName()+ +年龄:+getAge()+ +职业:+getOccupation();public class ClassMain /* * param args */public static void main(String args) / TODO Auto-generated method stubGrandFather gf=new GrandFather(wuzongyao,78);System.out.println(gf.getGrandFather();Father f=new Father(wushengguang,48,工人);System.out.println(f.getFather();4.(1)abstract class Instrumentabstract void play();class Piano extends Instrumentpublic void play()System.out.println(钢琴是弹的!不是拉的);class Violin extends Instrumentpublic void play()System.out.println(小提琴是拉的!不是弹得);public class Test /* * param args */public static void main(String args) / TODO Auto-generated method stubInstrument p=new Piano();p.play();Instrument v=new Violin();v.play();(2)interface VideoCardvoid videoRunning();void videoClosing();interface Cpuvoid cpuRunning();void cpuClosing();class IntelCpu implements Cpupublic IntelCpu()System.out.println(Make an Intels CPU);public void cpuRunning()System.out.println(Intels CPU is Working.);public void cpuClosing()System.out.println(Intels CPU is Closing.);class DmengVideoCard implements VideoCardpublic DmengVideoCard()System.out.println(Make a DmengVideoCards VideoCard);public void videoRunning()System.out.println(Dmengs VideoCard is Working.);public void videoClosing()System.out.println(Dmengs VideoCard is Closing.);class Mainboardprivate IntelCpu cpu;private DmengVideoCard videocard;public Mainboard(IntelCpu cpu,DmengVideoCard videocard)this.cpu=cpu;this.videocard=videocard;public void run()cpu.cpuRunning();videocard.videoRunning();System.out.println(Mainboard is running.);public void close()cpu.cpuClosing();videocard.videoClosing();System.out.println(Mainboard is closing.);public class Computer public static void openPC() System.out.println(开机了。);public static void closePC() System.out.println(关机了。);public static void main(String args) Mainboard m=new Mainboard(new IntelCpu(),new DmengVideoCard();openPC();m.run();closePC();m.close();五、实验体会本次实验是关于JAVA的基础知识的检验,基础知识是整个java学习中最重要的,对以后的学习来说,这是个台阶。通过此次实验,我对Java有了更进一步的了解,特别是理论联系实际。对学习Java帮助很大。也使我对Java产生了深厚的情趣,我会更加努力学习Java。 实验项目名称: 类集 实验学时: 4 同组学生姓名: 实验地点: 1414 实验日期: 4.11 4.18 实验成绩: 批改教师: 批改时间: 实验2 类集一、实验目的和要求(1)理解类集概念(2)熟悉Collection接口、List接口、Set接口和Map接口(3)掌握ArrayList类、HashSet类和TreeSet类(4)理解TreeMap、HashMap二、实验仪器和设备奔腾以上个人计算机, windows操作系统。配置好JDK环境,安装集成开发环境(Eclipse)三、实验内容与过程1、类集应用范例:实现一个超市管理系统,要求可以添加货物,删除货物和查询货物:。 代码如下:public interface Goods public String getName(); / 得到商品名称public int getCount(); / 得到商品数量public float getPrice(); / 得到商品价格 public class Book implements Goods private String name;private int count;private float price;public Book() public Book(String name, int count, float price) = name;this.count = count;this.price = price;public String getName() return name;public void setName(String name) = name;public int getCount() return count;public void setCount(int count) this.count = count;public float getPrice() return price;public void setPrice(float price) this.price = price;public boolean equals(Object obj) if (this = obj) return true;if (!(obj instanceof Book) return false;Book b = (Book) obj;if (.equals() & b.count = this.count& b.price = this.price) return true; else return false;public int hashCode() return .hashCode() + new Integer(this.count).hashCode()+ new Float(this.price).hashCode();public String toString() return 书名: + + ;书的价格: + this.price + ;书的数量:+ this.count;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class SuperMarket private List allGoods;public SuperMarket() this.allGoods = new ArrayList();public void add(Goods goods) this.allGoods.add(goods);public void remove(Goods goods) this.allGoods.remove(goods);public List search(String keyWord) List temp = new ArrayList();Iterator iter = this.allGoods.iterator();while (iter.hasNext() Goods g = iter.next();if (g.getName().indexOf(keyWord) != -1) temp.add(g);return temp;public List getAllGoods() return this.allGoods;import java.util.Iterator;import java.util.List;public class Test public static void main(String args) SuperMarket mak = new SuperMarket();mak.add(new Book(Java, 2, 30.9f);mak.add(new Book(C+, 3, 10.9f);mak.add(new Book(JSP, 5, 80.9f);print(mak.search(J) ;mak.remove(new Book(Java, 2, 30.9f) ;print(mak.search(J) ;public static void print(List all) Iterator iter = all.iterator();while (iter.hasNext() System.out.println(iter.next();对照范例写出如下题目:(1)宠物商店,要求可以添加、删除和查找宠物(2)实现以下两个关系A、一个学校可以有多个学生,所有学生属于一个学校B、一门课程可以有多个学生选,一个学生可以选多门课程四、实验结果与分析(程序运行结果及其分析)(1)interface Petpublic String getName(); / 得到商品名称public String getColor(); / 得到商品数量public float getPrice();public class Dog implements Pet private String name;private String color;private float price;public Dog() public Dog(String name, String color, float price) = name;this.color = color;this.price = price;public String getName() return name;public void setName(String name) = name;public String getColor() return color;public void setColor(String color) this.color = color;public float getPrice() return price;public void setPrice(float price) this.price = price;public boolean equals(Object obj) if (this = obj) return true;if (!(obj instanceof Dog) return false;Dog d = (Dog) obj;if (.equals() & d.color = this.color& d.price = this.price) return true; else return false;public int hashCode() return .hashCode() + new Integer(this.color).hashCode()+ new Float(this.price).hashCode();public String toString() return 狗的品种: + + ;狗的价格: + this.price + ;狗的颜色:+ this.color;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class PetSupermarket private List allpets;public PetSupermarket() this.allpets = new ArrayList();public void add(Pet pet) this.allpets.add(pet);public void remove(Pet pet) this.allpets.remove(pet);public List search(String keyWord) List temp = new ArrayList();Iterator iter = this.allpets.iterator();while (iter.hasNext() Pet p = iter.next();if (p.getName().indexOf(keyWord) != -1) temp.add(p);return temp;public List getAllpets() return this.allpets;import java.util.Iterator;import java.util.List;public class Testp public static void main(String args) PetSupermarket mak = new PetSupermarket();mak.add(new Dog(牧羊犬, 黑色, 5000);mak.add(new Dog(中华田园犬, 黑色, 200);mak.add(new Dog(藏獒, 褐色, 50000);print(mak.search(牧) ;mak.remove(new Dog(藏獒, 褐色, 50000) ;print(mak.search(中) ;public static void print(List all) Iterator iter = all.iterator();whil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论