实验3 数据块传送实验程序设计实验

时间:2019-05-15 02:12:20下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《实验3 数据块传送实验程序设计实验》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《实验3 数据块传送实验程序设计实验》。

第一篇:实验3 数据块传送实验程序设计实验

实验3 数据块传送实验程序设计实验

一、实验目的

㈠学习和掌握DSP汇编语言程序的基本结构。

㈡熟悉和掌握常用的数据传送类指令。熟练掌握数据块传送的方法。

二、实验原理

数据传送的常用指令

数据存储器数据存储器: MVDK Smem,dmad

MVKD dmad,Smem

MVDD Xmem,Ymem 数据存储器MMR: MVDM dmad,MMR

MVMD MMR,dmad

MVMM mmr,mmr 程序存储器数据存储器 MVPD Pmad,Smem

MVDP Smem,Pmad

READA Smem

WRITA Smem Smem——数据存储器的地址;Pmad——16位立即数程序存储器地址;MMR——任何一个存储映象寄存器;Xmem,Ymem——双操作数数据存储器地址;dmad——16位立即数数据存储器地址;

数据传送指令是最常用的一类指令,与RPT指令相结合,可以实现数据块传送。例如,在系统初始化过程中,可以将数据表格与文本一道驻留在程序存储器中,复位后通过程序存储器到数据存储器的数据块传送将数据表格传送到数据存储器,从而不需要配制数据ROM,使系统的成本降低。另外,在数字信号处理(如FFT)时,经常需要将数据存储器中的一批数据传送到数据存储器的另一个地址空间等等。

三、实验内容

阅读实验程序example,上机运行程序后,查看:

㈠检查程序存储器(PM)E000H~E01DH空间中的内容,检查程序存储器(PM)FF80H~FF83H空间中的内容。

㈡数据存储器(DM)60H~69H(.bss)空间中的内容是什么? ㈢数据存储器(DM)80H~90H(STACK)空间中的内容是什么?

㈣确定a[4]、x[4]、y在数据存储器中的位置。检查这些位置中的数据否是所设置的初始化数据。

第二篇:实验数据淀粉

一.相关分析

1.温室种植

表.生物产量、经济产量与淀粉含量的关系

生物产量

经济产量

淀粉含量

生物产量

0.941**

0.121

.0.000

0.541

经济产量

0.941**

0.139

0.000

.0.754

淀粉含量

0.121

0.139

0.541

0.754

.*0.05水平上具备显著性

**0.01水平上具备显著性

通过对在温室种植下的生物产量、经济产量与淀粉含量进行相关分析,得到以上结果。可以看到生物产量与淀粉含量的相关系数值为0.941,p<0.001,说明生物产量与淀粉含量具备显著的高程度的正向相关关系。生物产量与淀粉含量的相关系数值为0.121,p>0.05,说明生物产量与淀粉含量不具备显著的相关关系。经济产量与淀粉含量的相关系数值为0.139,p>0.05,说明经济产量与淀粉含量不具备显著的相关关系。

上述研究结果表明,在温室种植下,生物产量越高,经济产量越高;生物产量和经济产量均与淀粉含量并无太大关系。

2.网室种植

表.生物产量、经济产量与淀粉含量的关系

生物产量

经济产量

淀粉含量

生物产量

0.748**

-0.077

.0.000

0.754

经济产量

0.748**

0.040

0.000

.0.869

淀粉含量

-0.077

0.040

0.754

0.869

.*0.05水平上具备显著性

**0.01水平上具备显著性

通过对在网室种植下的生物产量、经济产量与淀粉含量进行相关分析,得到以上结果。可以看到生物产量与淀粉含量的相关系数值为0.748,p<0.001,说明生物产量与淀粉含量具备显著的高程度的正向相关关系。生物产量与淀粉含量的相关系数值为-0.077,p>0.05,说明生物产量与淀粉含量不具备显著的相关关系。经济产量与淀粉含量的相关系数值为0.040,p>0.05,说明经济产量与淀粉含量不具备显著的相关关系。

上述研究结果表明,在网室种植下,生物产量越高,经济产量越高;生物产量和经济产量均与淀粉含量并无太大关系。

二.差异性分析

表.温室种植和网室种植在各个变量上的比较情况

温室种植

网室种植

t

p

生物产量(g)

34.020±36.374

47.215±10.008

-1.821

0.078

经济产量(g)

9.844±12.194

23.996±7.099

-4.552**

0.000

淀粉含量(%)

3.069±0.883

3.530±1.169

-1.540

0.131

*0.05水平上具备显著性

**0.01水平上具备显著性

通过对温室种植与网室种植在生物产量、经济产量、淀粉含量进行比较,得到上表结果。可以看到网室种植在生物产量、经济产量、淀粉含量上均高于温室种植。

其次在t检验中,得到t值均为负值,说明温室种植在生物产量、经济产量、淀粉含量上均低于网室种植。另外p值情况中,仅两种方式在经济含量上具备显著的差异性(p<0.01),而在生物产量、淀粉含量上不具备显著的差异性(p>0.05)。说明网室种植在经济产量上显著高于温室种植方式。

结论:

温室种植方式中,在一定程度上,生物产量越高,经济产量越高;生物产量和经济产量均与淀粉含量并无太大关系。

网室种植方式中,一定程度上,生物产量越高,经济产量越高;生物产量和经济产量均与淀粉含量并无太大关系。

网室种植在经济产量上显著高于温室种植方式,两种方式在生物产量、淀粉含量上并无太大差异。

第三篇:Java程序设计实验2

学 生 实 验 报 告 册

课程名称:

学生学号:

所属院部:

(理工类)

专业班级:

学生姓名:

指导教师: ——20 学年 第 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

金陵科技学院实验报告

实验项目名称: 面向对象编程实验 实验学时: 8 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验1 面向对象编程实验

一、实验目的和要求

(1)理解Java概念、掌握JDK环境配置(2)熟悉Java开发过程

(3)掌握Java面向对象编程基础:封装、继承、多态(4)掌握Java接口编程,理解开发模式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、JDK环境配置

2、面向对象的封装性

范例:设计一个表示学生的类,里面有学生的三项成绩:计算机成绩、数学成绩、英语成绩。要求可以求总分、平均分、最高分、最低分,并且可以输出一个学生的完整信息。代码如下: class Student{ private 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 = computer>math?computer:math;

max = max>english?max:english;

return max;} public float min(){

float min = computer

min = min

return min;

金陵科技学院实验报告

} public String getInfo(){

return “学生信息: n” +

“t|-姓名:” + this.getName()+ “n” +

“t|-年龄:” + this.getAge()+ “n” +

“t|-数学成绩:” + this.getMath()+ “n” +

“t|-英语成绩:” + this.getEnglish()+ “n” +

“t|-计算机成绩:” + this.getComputer();} public void setName(String n){

name = n;} public void setAge(int a){

age = a;} public void setEnglish(float e){

english = e;} public void setComputer(float c){

computer = c;} public void setMath(float m){

math = m;} public String getName(){

return name;} public int getAge(){

return age;} public float getEnglish(){

return english;} public float getComputer(){

return computer;} public float getMath(){

return math;} } public class ExecDemo{ public static void main(String args[]){

Student stu = new Student(“张三”,30,89.0f,91.0f,87.0f);

System.out.println(“总分:” + stu.sum());

金陵科技学院实验报告

}

} System.out.println(“平均分:” + stu.avg());System.out.println(“最高分:” + stu.max());System.out.println(“最低分:” + stu.min());System.out.println(stu.getInfo());对照范例写出如下题目:

(1)编写并测试一个代表地址的Address类,包括以下的属性:国家、省份、城市、街道、邮编。

可以从此地址类中得到一个完整的地址信息。

(2)定义并测试一个代表员工的Employee类。它的属性包括“员工姓名”、“员工号码”、“员工基本薪水”,它的方法包括“构造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、“设置员工姓名”、“设置员工号码”、“设置员工基本薪水”、所有员工信息的输出getInfo。(3)、定义一个圆形类,可以返回圆的面积与周长。

class Circle{

成员变量 半径 r

构造方法

成员函数 设置和获取 半径

计算周长

计算面积

所有信息输出 } 定义一个矩形类,返回矩形的面积与周长(4)、思考设计:一个人有一本书,一本书属于一个人。//一个人有一本书,一本书属于一个人 //类 新的类别、类型 定义新的数据类型 //两个类的关系 独立的两个类 使用 class Person{ private String name;private int age;private Book book;//一个人有一本书 public Person(){

} public Person(String name,int age){ this.name=name;this.age=age;} public void setBook(Book book){ this.book=book;} public Book getBook(){ return this.book;

金陵科技学院实验报告

} } class Book{ private String name;private float price;private Person person;//一本书属于一个人 public Book(){ } public Book(String name,float price){ this.name=name;this.price=price;} public void setPerson(Person person){ this.person=person;} public Person getPerson(){ return this.person;} } public class TestBP{ public static void main(String args[]){ Person per=new Person(“zhangsan”,20);Book bok=new Book(“Java program”,20.0f);per.setBook(bok);//一个人有一本书

bok.setPerson(per);//一本书属于一个人

per.getBook().getPrice();bok.getPerson().getName();} }

3、面向对象的继承性

范例:要求定义一个数组类Array,里面定义了一个整型数组,但是此整型数组属于动态分配大小,即:所有的大小由程序指定,并在此基础上实现以下的两个子类:

反转类:可以将数组的内容反转排列

排序类:可以对数组进行排序的操作 class Array{ private int temp[] = null;// 只是声明数组,但是大小未知

private int foot = 0;// 用于保存下一个的记录点

public Array(int len){

if(len>0){

this.temp = new int[len];// 此时大小由外部决定

}else{

this.temp = new int[1];// 至少开辟一个空间

} }

金陵科技学院实验报告

public boolean add(int i){ // 加入数据操作

if(this.foot

this.temp[this.foot] = i;// 加入内容

this.foot++;// 改变长度

return true;// 加入成功返回true

}else{

return false;// 加入失败

} } public int[] getArray(){ // 返回全部的数组

return this.temp;} } class SortArray extends Array{ public SortArray(int len){

super(len);} public int[] getArray(){

java.util.Arrays.sort(super.getArray());// 排序操作

return super.getArray();// 返回的是排序后的内容

} } class ReverseArray extends Array{ public ReverseArray(int len){

super(len);} public int[] getArray(){

int rt[] = new int[super.getArray().length];// 根据大小开辟新数组

int count = rt.length-1;

for(int x=0;x

rt[count] = super.getArray()[x];

count--;

}

return rt;} } public class ArrayDemo{ public 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;x

System.out.print(i[x] + “、”);

} } } 对照范例写出如下题目:

(1).创建GrandFather类,其中包括

a)属性:姓名(name),年龄(age)

b)方法getGrandFather():显示爷爷的信息

c)构造方法:给爷爷的姓名,年龄赋值(2).创建Father类,继承Grandfather类 a)属性:除了继承爷爷的属性以外,还要增加自己的属性:“职业”(occupation)b)构造方法:显式调用父类的构造方法,为Father类的姓名和年龄赋初始值。再为职业输入初始值。

c)方法getFather(): 显示父亲的相关信息

(3).创建ClassMain()类,定义main()方法,构造GrandFather类的对象和Father类的对象,并分别显示详细信息。

3、面向对象多态性

范例:计算柱体的体积。柱体体积计算公式是:底部面积乘以高度 柱体底部分为 圆形和矩形 要求:通过抽象类和多态实现 package cn.jit.demo;abstract class Bottom { //父类抽象类 底部

public abstract double calculatorArea();} class CircleBottom extends Bottom{ //圆形底

/** * 半径

*/ private double radius;

@Override public 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;} @Override public 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 USB{ public void start();// 开始工作

public void stop();// 结束工作 } class Computer{ public static void plugin(USB usb){

usb.start();

usb.stop();} };class Flash implements USB{ public void start(){

System.out.println(“U盘开始工作。”);} public void stop(){

System.out.println(“U盘停止工作。”);} };class Print implements USB{ public void start(){

System.out.println(“打印机开始工作。”);} public void stop(){

System.out.println(“打印机停止工作。”);} };public class InterPolDemo02{ public static void main(String args[]){

Computer.plugin(new Flash());

Computer.plugin(new Print());} };对照范例,写出以下程序:(1)乐器(Instrument)的标准为弹奏(play),而乐器类型分为:钢琴(Piano)和小提琴(Violin),各种乐器的弹奏方法各不同。编写代码实现不同乐器的弹奏。(2)计算机模拟

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: 类集

实验学时: 4 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验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){

this.name = name;

this.count = count;

this.price = price;}

public String getName(){

return name;}

public void setName(String name){

this.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(b.name.equals(this.name)&& b.count == this.count

&& b.price == this.price){

return true;

} else {

return false;

} }

public int hashCode(){

return this.name.hashCode()+ new Integer(this.count).hashCode()

+ new Float(this.price).hashCode();}

public String toString(){

return “书名:” + this.name + “;书的价格:” + 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、一门课程可以有多个学生选,一个学生可以选多门课程

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: Java IO操作

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验3 Java IO操作

一、实验目的和要求

(1)理解输入输出流概念(2)掌握文件输入输出流

(3)掌握键盘的输入、显示器的输出(4)理解其他输入输出流

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、编写类模拟命令Copy

范例:实现文件的复制代码。参考代码如下:

File file1 = new File(“d:”+File.seperator +”demo.txt”);

// 找到第一个文件的File对象

File file2 = new File(“d:”+File.seperator +”cemo.txt”);// 找到目标文件路径 InputStream input = new FileInputStream(file1);// 输入流 OutputStream output = new FileOutputStream(file2);// 输出流 int temp = 0;// 定义一个整数表示接收的内容

while((temp = input.read())!=-1){ // 表示还有内容可以继续读

output.write(temp);// 写入数据 } input.close();// 关闭 output.close();// 关闭

2、通过键盘的输入,实现简单的选项操作。

*********XXXX管理系统***********

[1]添加

[2]删除

[3]修改

[4]查询

[5]退出

3、编写一个简单管理系统,实现真实的操作。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: JDBC

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验4 JDBC

一、实验目的和要求(1)理解JDBC分类

(2)掌握JDBC数据库连接步骤

(3)掌握JDBC连接MySQL数据库代码(4)理解JDBC连接其他数据库方式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、安装MySQL数据库,配置好数据库

创建一个数据库表,按要求给出详细的字段设计

pid name age birthday salary

主要操作:

2、创建Eclipse项目,配置驱动包

每个数据库厂商都会提供对Java开发技术的支持,即都会提供对应的Java驱动,也就是一个jar包

主要操作:

3、项目中建立一个详细例子,按照要求连接、操作、关闭数据库

按照标准的步骤完成对MySQL数据库的操作

主要代码:(添加、修改、删除和查询)

金陵科技学院实验报告

4、试着连接其他类型数据库。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

第四篇:UML程序设计实验指导书

《UML程序设计》

实验指导教程

适合专业:计算机类专业

浙江树人大学信息科技学院 2016.02

课程与实验综述

第一部分实验综述

一.课程简介及实践要求:

《UML程序设计》是以介绍面向对象的统一建模语言UML为主,使学生了解面向对象技术的基本概念,掌握UML的分析和设计方法,同时掌握在Enterprise Architect环境下用UML进行分析和设计的技术。本课程在教学内容方面着重基本理论、基本知识和基本方法,在培养实践能力方面着重设计构思和设计技能的基本训练,熟练的上机操作能力和分析能力。

实验实践训练是UML程序设计教学的重要技能环节。通过实验,使学生加深理解、验证、巩固课堂教学内容,特别是通过设计和综合实验,发挥学生的想象力和创新能力。二.课程实验目的要求:

通过UML的实验,学生应该: 1.学会用UML进行面向对象的思想去分析和设计相关系统;2.学会用Rose建模工具进行软件建模。三.课程实验参考资料

1.(美)Joseph Schmuller著.UML基础、案例与应用.人民邮电出版社,2004 2.(美)Hans-Erik Eriksson.UML 2工具箱.电子工业出版社,2004 3.吴际,金茂忠.UML面向对象分析.北京航空航天大学出版社,2002 4.赵从军.UML设计及应用.机械工业出版社,2004 5.Grady Booch,James Rumbaugh,Ivar Jacobson.UML用户指南.机械工业出版社,2001 6.吴建,郑潮,汪杰.UML基础与Rose建模案例.人民邮电出版社,2004 第二部分 实验实践指导

实验一

构建用例图

一、实验目的

1.学会分析系统中的参与者和用例 2.掌握用例图的绘制方法

二、实验器材

1.计算机一台;

2.Enterprise Architect 工具软件;

三、实验内容

1、分析ATM系统需求,按要求画出用例图;

2、建立一个学生管理信息系统的需求

3、建立设计一个学生管理信息系统的完整的用例图

四、实验步骤

(一)ATM系统的用例图

1.分析

ATM自动取款机:客户可以取钱,存钱,查询余额,转帐,修改密码。通过分析可找出如下几个参与者:(1)ATM(2)客户

通过分析得到如下用例:

(1)存款

(2)取款(3)查询余额

(4)转帐(5)修改密码

(6)打印收据

2.绘图步骤:

下面介绍在Enterprise Architect中创建用例图的过程:

Enterprise Architect主界面如下图所示:

1、建立项目:

如下图在文件菜单选择新建项目:

如下图

选择文件夹,输入项目名:

如图,选择所需要的选项:

2、建立用例图

在合适的文件平夹下,右键

在UML Behavioral 下选择Use Case,图名处输入用例名如ATM 如下图,比双击ATM

在编辑界面下右键,如下图

3、添加用例

选择Use Case 依次添加存款、取款、查询余额、转帐、修改密码、打印收据,如图1.4所示。

4、添加Actor 在编辑界面下右键,选择Actor,5、添加边界(ATM取款系统)

如下图

6、添加参与者和用例间的关联关系,右键客户,如上图,选择小箭头,添加关联,同理添加ATM的关联

添加Common中的Note,内容为***制,如上图

7、保存图

完成用例图后,保存该图。

8、选择所有的内容,拷贝,粘贴到实验报告中,如下图

uc ATMATM取款系统存款金智勇制取款查询余额客户ATM修改密码打印收据转帐

(二)建立设计一个学生管理信息系统的需求分析与完整的用例图

(1)学生管理信息系统简介

学生管理信息系统主要为学校的学生处设计:方便学校学生处与学院学生口管理员方便管理学生,学生成绩由教务系统提供,教务系统提供相关的WEB service供学生管理信息系统调用。

 通过分析可找出如下几个参与者:

学生处管理员、学校领导(学校各种报表统计信息)、学院管理员、班主任(提供学生操行、查询等)、学院领导(学院各种报表统计信息)、学生、后勤管理人员(卫生管理、保卫处异常情况处理)、财务人员、考勤管理员(由副班长提供考勤信息)等

 通过分析得到如下一些大的用例:

学生基本信息管理、考勤管理、成绩导入、学校各种报表信息(要求细化)、学院各种报表信息(要求细化)、个人成才规划、新学期注册,操行评定、学生任职信息系统、学生奖惩管理系统(要求细化,包括评优评奖等)、学生变动信息管理(培训内容、助学贷款情况、学校还款情况、勤工助学情况,党员管理),后勤卫生管理、保卫处的学生的异常情况处理、其它的具体由学生自己定。

2.建立设计一个学生管理信息系统的需求分析

分析学生管理信息系统,建立系统需求分析,并要求画出系统功能框图,如学生管理信息系统的功能模块图如下

系统模块图如后勤卫生查询功能子系统模块图如下。

要求分析其它的子系统模块

3.建立一个学生管理信息系统的完整的用例图

完整的要求,就为每一类用户分配一个用例模型,如一般学生查询功能用例

要求分析其它参与者的用例模型

(4)建立用例的文字描述(要求学生写出两个)

1.“基本信息查询”用例 用例编号:04010101(共有4层用例图结构,每层用2位数字表示,采用8位编号。)用例名:

基本信息查询

执行者: 学生自己、学生的班主任、辅导员及其它的特权用户。目的: 查询学生的基本信息,包括姓名、学号、家庭地址等信息。类

型: 端点、基本的 级

别: 二级  过程描述:

(三)上传ATM系统的用例图与学生管理信息系统的完整的用例图

五、实验报告要求

1. 整理实验结果。

2. 小结实验心得体会。

实验二

构建类图

一、实验目的

1.理解类的基本概念 2.理解类间的关系

3.掌握类图的绘制方法

二、实验器材

1.计算机一台;

2.Enterprise Architect 工具软件;

三、实验内容

(1)分析学生管理系统中的选课子系统中类及关系,然后画出它们的类图。(2)分析学生管理系统的其它子系统,并画出详细的系统类图

四、实验步骤

(一).选课子系统

1、选课子系统分析

 分析学生管理系统中的选课子系统,通过分析可抽象出如下几个类:

(1)学生类(student)(2)选课类(SelectCource)(3)课程类(Cource)

 学生类、选课类和课程类属性和方法

课程类的属性和方法:

属性包括

(1)课程名称(CourceName)(2)开课教室(Room)(3)课程号(CourceID)(4)授课教师(Teacher)(5)学年(academic year)(6)学期(Term)(7)允许选课的学生人数(SelectNoUp)方法包括

(1)设置课程号(SetCourceID)(2)设置课程名称(SetCourceName)(3)查询课程号(SeekCourceID)(4)查询允许选课的学生人数(SeekSelectNoUp)

选课类的属性和方法:

属性包括

(1)ID号(ID)(2)课程号(CourceID)(3)学号(SNo)(4)成绩(score)方法包括

1)选课(SelectCoure)2)退选(CancelSelected)3)查询选课情况(SeekSelected)

2.绘图步骤:

下面介绍在Enterprise Architect中创建类和它们之间关系的过程:

(1)在上图的合适文件夹下选择添加类图,类图名为选课系统类,如下图。

(2)在选课系统类图中,从工具栏中新建元素,选择Class并取名Student表明新增一个类,,同理添加选课类(SelectCource),课程类(Cource),如下图

(2)右键Studen,选择功能与属性---属性,如下图

(7)同样的方法添加Course类与SelectCource类,(8)创建两个类之间的关系,通过分析得出:Course类与SelectCource类之间为单向关联。选择图标栏的“关联”,由Course类指向electCource类。如图所示。

(10)分别在Course类与SelectCource类选项卡中键入名称和多重性,图2.10(11)重复(2)-(10)中的步骤完成选课系统整个类图的创建。(12)如图2.11转换生成代码,查看所生成的三个的代码。

选择对应的类的文件名,生成代码

查看代码

(二)分析学生管理系统的其它子系统,并画出详细的系统类图

一般情况一个子系统至少有一个类,要求建立系统的详细类图,并建立类间的关联

五、实验报告要求

1. 整理实验结果。

2. 小结实验心得体会。

实验三

构建活动图

一、实验目的

1. 熟悉活动图的基本功能和使用方法。

2. 掌握如何使用建模工具绘制活动图方法。

二、实验器材

1.计算机一台;

2.Enterprise Architect 工具软件;

三、实验内容

(1)分析图书管理系统中管理员的活动状态,画出管理员的活动图。(2)分析学生管理系统,并画出详细的活动图,并用活动图细化用例图

四、实验步骤

(一)图书管理系统活动图

1.分析

 在图书管理系统中管理员的活动如下:

(1)处理还书(2)处理借书(3)处理罚款  读者的活动如下:

(1)登录(2)找书(3)预约(4)浏览

2.绘图步骤:

下面介绍在Enterprise Architect中活动图的过程:(1)在的合适文件夹下选择添加活动图(Activity),如下图,在图名中输入在图书管理系统管理员活动图如下图所示

(2)添加活动及其它元素,如下图

图 3.1

(2)绘制图书管理员的活动图,如图3.2所示:

图3.2

(3)创建读者的活动图如图3.3所示:

图3.3

(二)分析学生管理系统,并画出详细的活动图,并用活动图细化用例图

(1)学生基本信息保存的活动图

录入基本信息、点击保存、链接数据库、判定学号是否已存在、判定录入信息是否符合规范(日期信息、身份证号、邮编等信息)-保存。(2)学生基本信息查询的活动图

链接数据库、查询基本信息表、倒出数据内容、填入各字段信息到信息输出框、根据学院代号查询学院名称、写入学院信息到列表框、定位学院信列表框、根据班级代号查询班级名称、写入班级信息、写入班级信息到列表框、定位班级信列表框、。(3)至少分析建立其它3个活动图

(4)根据活动图重新分析用例图并细化用例图,审核类图

五、实验报告要求

1. 整理实验结果。

2. 小结实验心得体会。

实验四

构建顺序图

一、实验目的

学会用顺序图实现用例

二、实验器材

1.计算机一台;

2.Enterprise Architect 工具软件;

三、实验内容

(1)分析系统需求,画出ATM取款的顺序图(2)分析学生管理系统,并画出详细的顺序图

四、实验步骤(一)ATM取款的场景

1、ATM取款的场景分析:

(1)通过读卡机,用户插入ATM卡;

(2)ATM系统从卡上读取银行ID、帐号、加密密码、并用主银行系统验证银行ID和帐号;

(3)用户输入密码,ATM系统根据上面读出的卡上加密密码,对密码进行验证;(4)用户输入取款数量;

(5)ATM系统通知主银行系统,传递储户帐号和取款数量,并接收返回的确认信息;

(6)ATM系统输出先进、ATM卡和显示帐户余额的收据;(7)ATM系统记录事务到日志文件。寻找场景中的对象:ATM、客户和帐户。

2、绘图步骤:

下面介绍在Enterprise Architect中创建顺序图的过程:

(1)在的合适文件夹下选择添加活动图(Activity),如下图,21

在工具菜单中选择选项如下图

选择图—顺序,如下图,选择“显示顺序编号”

(2)在顺序图前,为保证对象的可行性,可先在类图中创建Customer、ATM、和Account类。也可新建元素LifeLine。如下图,分别创建Customer、ATM、和Account.(4)根据ATM取款的场景,获得第一条消息为“客户向ATM机提交取款需求”,向图中添加消息。

在图中,点击Customer,选择小箭头,指向ATM,在消息特征编辑窗口中,输入Request。

图4.4

(5)同样的方法添加其它消息,如图4.5所示。

图4.5

(二)分析学生管理系统,并画出详细的顺序图

(1)如学生奖学金评定的顺序图:倒入成绩、操行评定、计算综合评分、奖学金评定(2)用户登入的顺序图:

(3)新学期注册顺序图:学生交费--向学院报到--判断是否交费--(是否申请助学金、是否申请缓交)--注册(4)建立党员管理顺序图

(5)建立其它的一个以上顺序图

五、实验报告要求

1. 整理实验结果。

2. 小结实验心得体会。

实验五

构建协作图

一、实验目的

1.学会协作图的绘制方法

2.掌握顺序图和协作图的相互转换。

二、实验器材

1.计算机一台;

2.Enterprise Architect 工具软件;

三、实验内容

(1)分析系统需求,画出ATM取款的协作图。

(2)分析学生管理系统,并画出详细的顺序图

四、实验步骤

(一).ATM取款的场景

1、ATM取款的场景分析:

(1)通过读卡机,用户插入ATM卡;

(2)ATM系统从卡上读取银行ID、帐号、加密密码、并用主银行系统验证银行ID和帐号;(3)用户输入密码,ATM系统根据上面读出的卡上加密密码,对密码进行验证;(4)用户输入取款数量;

(5)ATM系统通知主银行系统,传递储户帐号和取款数量,并接收返回的确认信息;(6)ATM系统输出先进、ATM卡和显示帐户余额的收据;(7)ATM系统记录事务到日志文件。寻找场景中的对象:ATM、客户和帐户。

2、绘图步骤:

下面介绍在Enterprise Architect中创建协作图的过程:

(1)在“Logical View”中新建“Collaboration Diagram“,双击图标,出现图5.1,为编辑顺序图做好准备。

图5.1

(2)创建类节点

创建四个类节点分别为ATM,Branch,Consortium,User。

分别选择其中的三个类节点ATM,Branch,Consortium 把它们拖动到CollaborationDiagram图中,如图5.2所示。

4.2

选择标记为 User 的类节点。将选定的类拖放到CollaborationDiagram图编辑器中,使其位于 ATM 生命线元素的上方,如图5.3所示。

图5.3

(3)添加连接器链接(Object Link)

协作图中的每个元素均可通过连接器链接与其他元素建立连接。您可以标识这些链

接,并在其中添加消息流。

从建模组件面板的“基本”类别中,选择 “ Object Link ” 图标。单击标记为 User 的生命线元素,然后单击 ATM。将在两个元素之间绘制一条连接器链接。使用相同的步骤绘制以下链接:

从 ATM 至 Consortium 的链接

从 Consortium 至 Branch 的链接

从 ATM 至 Branch 的链接

注意:在创建从 ATM 至 Branch 的链接时,请从 ATM 生命线的右侧水平绘制一条链接,并在到达 Branch 生命线的正上方时单击鼠标左键。这样便会在链接线上出现一个顶点,然后在顶点到 Branch 生命线之间垂直绘制一条链接。

此时,该图应当图5.4类似。

图5.4

在图编辑器中的任意位置单击鼠标右键,选择 “Edit” 的“delete from mode”菜单,可删除模型,如图5.5所示。

图5.5

(4)显示操作流

操作流将在图中显示为与链接平行的带标记箭头。此链接用于向目标元素传输消息或实现这种传输。在图编辑器中,选择 User 和 ATM 之间的连接器链接。右键单击距 ATM 生命线最近的连接器链接部分。如图4.6所示,从弹出式菜单中选择“Open Specification”,弹出”Link Specification For Untile”对话框,在对话框中按右键,从弹出式菜单中选择“Insert To: ATM”,在Message Name中输入public void GetCashOnHand(), 如图5.6所示。

图5.6

在 ATM 和Consortium 之间的连接器链接上,右键单击靠近Consortium生命线的链接部分。

添加消息 “ public void validateAccountInfo()”。Rose显示 2: public void validateAccountInfo()。

在 ATM 和 Branch 之间的连接器链接上,右键单击靠近Branch 生命线的链接部分。

添加消息 “public char getConnected”。Rose显示3: public char getConnected()。

右键单击 Consortium 和 Branch 之间靠近Branch 生命线元素的连接器链接。添加消息 “public void verifyCardWithBank(int stringCardSTrip)”。Rose显示 4: public void verifyCardWithBank(int stringCardSTrip)。

完成的协作图应当与图5.7类似。

图5.7

(5)模型检查并保存

使用Tools工具的”Check Model”,进行模型检查,查看是否有错。

如无误则在完成协作图后,您可以保存该图。在图编辑器中,从菜单中选择“保存”。

(二)分析学生管理系统,并画出详细的协作图

(1)如学生奖学金评定的协作图:倒入成绩、操行评定、计算综合评分、奖学金评定(2)助学贷款申请协作图:学生申请—班主任批准—学院批准-学校领导批准(3)助学勤工俭学申请协作图:(4)建立其它的一个以上协作图

五、实验报告要求

1. 整理实验结果。

2. 小结实验心得体会。

实验六

构建状态图

一、实验目的

1. 熟悉状态图的基本功能和使用方法。2. 掌握如何使用建模工具绘制状态图方法。

二、实验器材

1.计算机一台;

2.Enterprise Architect 工具软件;

三、实验内容

(1)分析图书管理系统中的书和借书证的状态,画出它们的状态图;

(2)分析学生管理系统,并画出详细的顺序图

四、实验步骤

(一)图书管理系统

1、分析

 在图书管理系统中,分析书的状态如下:

(1)可借(2)被借(3)被预约(4)删除

 借书证的状态如下:

(1)可用(2)不可用(3)删除

2、绘图步骤:

下面介绍在Rose2003中创建类和它们之间关系的过程:

(1)在“Logical View“中的“StateChart Diagram”菜单,双击图标,出现图6.1,为编辑状态图做好准备。

图6.1(2)在工具栏中选择“Start State”图标添加到编辑窗口中,如图6.2所示。

图6.2(3)在工具栏中选择“State”图标,添加一个元素,命名为“New book”,如图6.3所示。

图6.3(4)同样的方法添加其它状态,如图6.4所示。

图6.4 5)书的各个状态之间添加转移及相应的事件,如图6.5所示。

32(图6.5(6)同样的方法得借书证的状态图,如图6.6所示。

图6.6

(二)分析学生管理系统,并画出详细的状态图

(1)建立学生交款状态图:已交、未交、缓交、部分申请助学贷款(2)建立学生惩罚(记过以上)状态图:

(3)建立学生党员申请状态图:(4)建立其它的一个以上状态图

五、实验报告要求

1. 整理实验结果。

2. 小结实验心得体会。

实验七

构建组件图和配置图

一、实验目的

1.掌握UML中组件图和配置图的建立方法;

2.掌握使用Enterprise Architect绘制组件图和配置图;

二、实验器材

1.计算机一台;

2.Enterprise Architect 工具软件;

三、实验内容

(1)分析学校网上选课系统的组件图,画出系统组件图。(2)分析学校网上选课系统的配置图,画出系统配置图。(3)分析学生管理系统,并画出详细的组件图与配置图

四、实验步骤

(一)网上选课系统

1.分析

设计学校网上选课系统的组件图和配置图,需求如下: 某学校的网上选课系统主要包括如下功能:

管理员通过系统管理界面进入,建立本学期要开的课程、将课程信息保存在数据库中并可以对课程进行改动和删除。

学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:查询已选课程、选课以及付费。

对于以上操作,可通过业务层,并将这些操作结果存入数据库中。

2.绘图步骤:

(1)绘制组件图的步骤如下:

 确定组件;(系统管理系统, 课程管理系统,选课系统,查询系统,人员信息管理,注册系统,业务操作,备份系统,付费系统) 给组件加上必要的构造型;  确定组件的联系;  绘制组件图。

下面介绍在Rose2003中创建组件图的过程:

(a)在“Component View“中的 “New”的 “Component Diagram”中,出现图7.1,为编辑组件图做好准备,35

图7.1(b)创建组件图(根据要求创建)。

(2)绘制配置图的步骤如下:  确定节点;(数据库服务器,应用服务器,打印机,客户端(n个,连接为局域网))

 加上构造型;

 确定节点的联系;  绘制配置图。

下面介绍在Rose2003中创建配置图的过程:

(a)在“Deployment View“中,出现图7.2,为编辑配置图做好准备,图7.2

图7.3 系统配置图

(二)分析学生管理系统,并画出详细的组件图与配置图

(1)系统组件图  分析系统接口

如建立查询一个学生基本信息的接口,返回一个学生基本信息的类(类中有姓名、学号等属性)

 搜索系统用户界面

搜索系统用户界面,作为系统一种特殊的接口,用户与系统的接口,建立单独的包Web InterFace保存用户界面,如学生基本信息操作的用户界面定义如下(从View继承过来的一个类,这里只考虑界面,类只考虑程序,可有部分重复):

为用户界面考虑接口,并关联不同的类

(2)系统配置图

假设有以下的子系统:学生管理系统用到财务子系统、成绩管理子系统,并各自有数据库。

五、实验报告要求

1. 整理实验结果。

2. 小结实验心得体会。

实验八

Enterprise Architect逆向工程

一、实验目的

1.掌握Enterprise Architect中逆向工程的建立方法; 2.掌握根据逆向工程画出类图;

二、实验器材

1.计算机一台;

2.Enterprise Architect 工具软件;

三、实验内容

(1)分析Java程序,实现EA逆向工程。(2)根据逆向工程所得类,画出对应类图。

四、实验步骤

1.分析

Enterprise Architect功能十分强大,从项目需求分析、开发、测试,整个项目过程都可使用Enterprise Architect,特别是在做需求分析与项目系统架构时建模的能力巨强。但是每个人不是在项目一开始就能参与到初期当中来的,有时候整个项目一期完工了,进行二期开发时,这个时候参与进项目,为了能够快速了解整个项目的框架,使用Enterprise Architect的逆向工程的功能极为有用。

2.绘图步骤:

(1)分析J2EE源代码,了解其结构

(2)新建一个Enterprise Architect工程,选择合适的文件夹,如下图选择包---代码工程—导入---源程序目录

选择根包,原类型为Java

点击确定即在对应的包下生成三个类Env,EnvList和ListS,新建视图,添加Env,EnvList和ListS到视图中,具体如图所示:

图8.3

五、实验报告要求

1. 整理实验结果。

2. 小结实验心得体会。

第五篇:Java程序设计实验

学 生 实 验 报 告 册

课程名称:

学生学号:

所属院部:

(理工类)

专业班级:

学生姓名:

指导教师: ——20 学年 第 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

金陵科技学院实验报告

实验项目名称: 面向对象编程实验 实验学时: 8 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验1 面向对象编程实验

一、实验目的和要求

(1)理解Java概念、掌握JDK环境配置(2)熟悉Java开发过程

(3)掌握Java面向对象编程基础:封装、继承、多态(4)掌握Java接口编程,理解开发模式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、JDK环境配置

2、面向对象的封装性

范例:设计一个表示学生的类,里面有学生的三项成绩:计算机成绩、数学成绩、英语成绩。要求可以求总分、平均分、最高分、最低分,并且可以输出一个学生的完整信息。代码如下: class Student{ private 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 = computer>math?computer:math;

max = max>english?max:english;

return max;} public float min(){

float min = computer

min = min

return min;

金陵科技学院实验报告

} public String getInfo(){

return “学生信息: n” +

“t|-姓名:” + this.getName()+ “n” +

“t|-年龄:” + this.getAge()+ “n” +

“t|-数学成绩:” + this.getMath()+ “n” +

“t|-英语成绩:” + this.getEnglish()+ “n” +

“t|-计算机成绩:” + this.getComputer();} public void setName(String n){

name = n;} public void setAge(int a){

age = a;} public void setEnglish(float e){

english = e;} public void setComputer(float c){

computer = c;} public void setMath(float m){

math = m;} public String getName(){

return name;} public int getAge(){

return age;} public float getEnglish(){

return english;} public float getComputer(){

return computer;} public float getMath(){

return math;} } public class ExecDemo{ public static void main(String args[]){

Student stu = new Student(“张三”,30,89.0f,91.0f,87.0f);

System.out.println(“总分:” + stu.sum());

金陵科技学院实验报告

}

} System.out.println(“平均分:” + stu.avg());System.out.println(“最高分:” + stu.max());System.out.println(“最低分:” + stu.min());System.out.println(stu.getInfo());对照范例写出如下题目:

(1)编写并测试一个代表地址的Address类,包括以下的属性:国家、省份、城市、街道、邮编。注意:

1、体现封装

2、构造方法(最少2个)

3、要有输出(可以从此地址类中得到一个完整的地址信息)。

4、测试 主类 main

(2)定义并测试一个代表员工的Employee类。它的属性包括“员工姓名”、“员工号码”、“员工基本薪水”;它的方法包括“构造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、“设置姓名”、“设置员工号码”、“设置基本薪水”。测试(3)、定义一个圆形类(半径属性),封装、构造、整个输出、可以返回圆的面积与周长。测试

(4)、思考设计:一个人有一本书,一本书属于一个人。

3、面向对象的继承性

范例:要求定义一个数组类Array,里面定义了一个整型数组,但是此整型数组属于动态分配大小,即:所有的大小由程序指定,并在此基础上实现以下的两个子类:

反转类:可以将数组的内容反转排列

排序类:可以对数组进行排序的操作 class Array{ private int temp[] = null;// 只是声明数组,但是大小未知

private int foot = 0;// 用于保存下一个的记录点

public Array(int len){

if(len>0){

this.temp = new int[len];// 此时大小由外部决定

}else{

this.temp = new int[1];// 至少开辟一个空间

} } public boolean add(int i){ // 加入数据操作

if(this.foot

this.temp[this.foot] = i;// 加入内容

this.foot++;// 改变长度

return true;// 加入成功返回true

}else{

return false;// 加入失败

} } public int[] getArray(){ // 返回全部的数组

return this.temp;}

金陵科技学院实验报告

} class SortArray extends Array{ public SortArray(int len){

super(len);} public int[] getArray(){

java.util.Arrays.sort(super.getArray());// 排序操作

return super.getArray();// 返回的是排序后的内容

} } class ReverseArray extends Array{ public ReverseArray(int len){

super(len);} public int[] getArray(){

int rt[] = new int[super.getArray().length];// 根据大小开辟新数组

int count = rt.length-1;

for(int x=0;x

rt[count] = super.getArray()[x];

count--;

}

return rt;} } public class ArrayDemo{ public 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;x

System.out.print(i[x] + “、”);

} } }

金陵科技学院实验报告

对照范例写出如下题目:

(1).创建GrandFather类,其中包括

a)属性:姓名(name),年龄(age)

b)方法getGrandFather():显示爷爷的信息

c)构造方法:给爷爷的姓名,年龄赋值(2).创建Father类,继承Grandfather类 a)属性:除了继承爷爷的属性以外,还要增加自己的属性:“职业”(occupation)b)构造方法:显式调用父类的构造方法,为Father类的姓名和年龄赋初始值。再为职业输入初始值。

c)方法getFather(): 显示父亲的相关信息

(3).创建ClassMain()类,定义main()方法,构造GrandFather类的对象和Father类的对象,并分别显示详细信息。

3、面向对象多态性

范例:计算柱体的体积。柱体体积计算公式是:底部面积乘以高度 柱体底部分为 圆形和矩形 要求:通过抽象类和多态实现 package cn.jit.demo;abstract class Bottom { //父类抽象类 底部

public abstract double calculatorArea();} class CircleBottom extends Bottom{ //圆形底

/** * 半径

*/ private double radius;

@Override public 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;} @Override public 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 USB{ public void start();// 开始工作

public void stop();// 结束工作 } class Computer{ public static void plugin(USB usb){

usb.start();

usb.stop();} };class Flash implements USB{ public void start(){

金陵科技学院实验报告

System.out.println(“U盘开始工作。”);} public void stop(){

System.out.println(“U盘停止工作。”);} };class Print implements USB{ public void start(){

System.out.println(“打印机开始工作。”);} public void stop(){

System.out.println(“打印机停止工作。”);} };public class InterPolDemo02{ public static void main(String args[]){

Computer.plugin(new Flash());

Computer.plugin(new Print());} };对照范例,写出以下程序:(1)乐器(Instrument)的标准为弹奏(play),而乐器类型分为:钢琴(Piano)和小提琴(Violin),各种乐器的弹奏方法各不同。编写代码实现不同乐器的弹奏。(2)计算机模拟

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: 类集

实验学时: 4 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验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){

this.name = name;

this.count = count;

this.price = price;}

public String getName(){

return name;}

public void setName(String name){

this.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(b.name.equals(this.name)&& b.count == this.count

&& b.price == this.price){

return true;

} else {

return false;

} }

public int hashCode(){

return this.name.hashCode()+ new Integer(this.count).hashCode()

+ new Float(this.price).hashCode();}

public String toString(){

return “书名:” + this.name + “;书的价格:” + 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、一门课程可以有多个学生选,一个学生可以选多门课程

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: Java IO操作

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验3 Java IO操作

一、实验目的和要求

(1)理解输入输出流概念(2)掌握文件输入输出流

(3)掌握键盘的输入、显示器的输出(4)理解其他输入输出流

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、编写类模拟命令Copy

范例:实现文件的复制代码。参考代码如下:

File file1 = new File(“d:”+File.seperator +”demo.txt”);

// 找到第一个文件的File对象

File file2 = new File(“d:”+File.seperator +”cemo.txt”);// 找到目标文件路径 InputStream input = new FileInputStream(file1);// 输入流 OutputStream output = new FileOutputStream(file2);// 输出流 int temp = 0;// 定义一个整数表示接收的内容

while((temp = input.read())!=-1){ // 表示还有内容可以继续读

output.write(temp);// 写入数据 } input.close();// 关闭 output.close();// 关闭

2、通过键盘的输入,实现简单的选项操作。

*********XXXX管理系统***********

[1]添加

[2]删除

[3]修改

[4]查询

[5]退出

3、编写一个简单管理系统,实现真实的操作。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: JDBC

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验4 JDBC

一、实验目的和要求(1)理解JDBC分类

(2)掌握JDBC数据库连接步骤

(3)掌握JDBC连接MySQL数据库代码(4)理解JDBC连接其他数据库方式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、安装MySQL数据库,配置好数据库

创建一个数据库表,按要求给出详细的字段设计

pid name age birthday salary

主要操作:

2、创建Eclipse项目,配置驱动包

每个数据库厂商都会提供对Java开发技术的支持,即都会提供对应的Java驱动,也就是一个jar包

主要操作:

3、项目中建立一个详细例子,按照要求连接、操作、关闭数据库

按照标准的步骤完成对MySQL数据库的操作

主要代码:(添加、修改、删除和查询)

金陵科技学院实验报告

4、试着连接其他类型数据库。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

下载实验3 数据块传送实验程序设计实验word格式文档
下载实验3 数据块传送实验程序设计实验.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    UML程序设计实验指导书

    《UML程序设计》 实验指导教程 适合专业:计算机科学技术09 浙江树人大学信息科技学院 2012.02 课程与实验综述 第一部分实验综述 一.课程简介及实践要求: 《UML程序设计》是以......

    高中生物【实验3】

    实验三:观察细胞质的流动【教学内容与目的要求】 1.通过用显微镜的实际观察,理解细胞质的流动是一种生命现象 2.了解细胞质的流动,受细胞内、细胞外各种因素的影响。 3.学会高倍镜......

    计算机网络实验3

    实验三Windows网络操作命令的使用 一、实验题目 Windows网络操作命令的使用 二、实验课时 4课时。 三、实验目的: 1. 掌握常用的网络命令 2.根据掌握的网络命令解决一些简单的......

    数据挖掘实验三

    实验三 设计并构造AdventureWorks数据仓库实例 【实验要求】 在SQL Server平台上,利用AdventureWorks数据库作为商业智能解决方案的数据源,设计并构造数据仓库,建立OLAP和数据......

    《C语言程序设计》实验四

    电子科技大学 计算机 学院 标 准 实 验 报 告 (实验)课程名称C语言程序设计 电子科技大学教务处制表电 子 科 技 大 学 实 验 报 告四 学生姓名:学 号:指导教师:刘 勇 实验地点:......

    《C语言程序设计》实验四

    电子科技大学 计算机 学院 标 准 实 验 报 告 (实验)课程名称C语言程序设计 电子科技大学教务处制表电 子 科 技 大 学 实 验 报 告四 学生姓名:学 号:指导教师:王瑞锦 实验地点......

    vb程序设计实验心得(大全)

    vb程序设计实验心得 vb程序设计实验心得一:数据库VB课程设计心得体会 数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的......

    微机原理实验三子程序设计实验

    实验三 子程序设计实验 一、实验目的 1.学习子程序的定义和调用方法。 2.掌握子程序的程序设计、编制及调用。 二、实验设备 TDN86/88教学实验系统一台 三、实验内容及步骤......