久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

實驗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教學實驗系統一臺 三、實驗內容及步驟......

主站蜘蛛池模板: 无码无套少妇毛多18p| 久久久一本精品99久久精品66直播| 日韩精品无码一区二区三区四区| 一二三四在线观看视频韩国| 在线视频观看免费视频18| 无码人妻一区二区三区精品视频| 骚片av蜜桃精品一区| 亚洲国产精品自在拍在线播放蜜臀| 无码国产69精品久久久久孕妇| 国产精品欧美一区二区三区不卡| 国产精品成人va在线观看| 色综合色天天久久婷婷基地| 十八禁视频在线观看免费无码无遮挡骂过| 精品久久久久中文字幕一区| 麻豆国产人妻欲求不满谁演的| 亚洲丁香婷婷久久一区二区| 中日精品无码一本二本三本| 国产suv精品一区二区四| 国产一女三男3p免费视频| 国产成人精品无码专区| 国产精品人人爽人人做我的可爱| av中文无码乱人伦在线观看| 亚洲国产香蕉碰碰人人| 狼群社区www中文视频| 男人吃奶摸下挵进去啪啪软件| 国产福利永久在线视频无毒不卡| 国产网红女主播精品视频| 精品国产不卡一区二区三区| 国产69精品久久久久乱码| 四虎国产精品免费久久| 国产做爰xxxⅹ久久久精华液| 综合亚洲另类欧美久久成人精品| 国产在线亚州精品内射| 少妇被粗大的猛进出69影院| 人人妻人人爽日日人人| 色偷偷亚洲女人的天堂| 老鲁夜夜老鲁| 无码熟妇人妻av在线影片最多| 国语精品福利自产拍在线观看| 国产色精品vr一区二区| 成年无码按摩av片在线观看|