面向?qū)ο蟪绦蛟O(shè)計試驗指導(dǎo)書(定稿)_第1頁
面向?qū)ο蟪绦蛟O(shè)計試驗指導(dǎo)書(定稿)_第2頁
面向?qū)ο蟪绦蛟O(shè)計試驗指導(dǎo)書(定稿)_第3頁
面向?qū)ο蟪绦蛟O(shè)計試驗指導(dǎo)書(定稿)_第4頁
面向?qū)ο蟪绦蛟O(shè)計試驗指導(dǎo)書(定稿)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——面向?qū)ο蟪绦蛟O(shè)計試驗指導(dǎo)書(定稿)

第五章《面象對象程序設(shè)計》課程試驗

七、試驗項目與內(nèi)容提要(experimentsprojectsanditscontent)序號123456Experimentname泛型Java集合架構(gòu)多線程網(wǎng)絡(luò)JavaBeans和Bean事件容器、布局管理器和邊框Objectives理解什么是泛型,了解通配符類型把握J(rèn)ava集合構(gòu)架支持三種類型的集合把握線程概念和如何創(chuàng)立線程把握Socket通信程序的設(shè)計方法理解JavaBeans組件的含義和Bean事件Personsinhoueachgrouprs1個單班(12class)1個單班(12class)1個單班(14class)1個單班(12class)1個單班(12class)LExperimentSelectiveofatypecompulsivebTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingCompulsiveTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingComprehensiveSelectiveSelective把握GridBagLayout、1個單班(1CardLayout、BoxLayout4class)等布局管理器1個單班(12class)1個單班(12class)1個單班(14class)1個單班(12class)1個單班(12class)78菜單、工具欄、把握主菜單、彈出式菜對話框單和工具欄MVC和Swing模型JTableJTree程序設(shè)計和把握Swing組件的模型-視圖-控件結(jié)構(gòu),JSpinner和JList把握J(rèn)Table和JTree的用法把握使用JDBCAPI訪問數(shù)據(jù)庫的基本方法910Java數(shù)據(jù)庫11高級Java數(shù)把握批處理插入數(shù)據(jù)的據(jù)庫程序設(shè)計方法;把握處理可更新和可滾動結(jié)果集方法12JSP基礎(chǔ)13Web應(yīng)用程序開發(fā)把握J(rèn)SP程序設(shè)計基礎(chǔ)1個單班(12class)把握創(chuàng)立基于JSP的Web應(yīng)用程序的方法1個單班(12class)

試驗G01:泛型

一、試驗名稱和性質(zhì)

所屬課程試驗名稱試驗學(xué)時試驗性質(zhì)必做/選做面向?qū)ο蟪绦蛟O(shè)計泛型2?驗證綜合?設(shè)計?必做選做二、試驗?zāi)康?/p>

1.理解為什么泛型類型可以提高可靠性和可讀性;2.了解通配符類型并理解為什么有必要使用該類型;

3.理解泛型類的所有實例共享同一個運行類文件。

三、試驗內(nèi)容

1.構(gòu)建兩個ArrayList對象list1,list2,往兩個對象中各添加兩個元素(如輸入1,2),并輸出(驗證性內(nèi)容)。

2.應(yīng)用泛型編寫程序(設(shè)計性內(nèi)容)。四、試驗的軟硬件環(huán)境要求

硬件環(huán)境要求:

PC計算機(jī);內(nèi)存512MB以上使用的軟件名稱、版本號以及模塊:

操作系統(tǒng):Windows2000或WindowsXP軟件:JDK6.0;Eclipse

五、知識準(zhǔn)備

前期要求把握的知識:把握線性表和接口。

試驗相關(guān)理論或原理:泛型是參數(shù)化類型的能力。表示形式泛型類型,后面可以用一個實際具體類型代替它。泛型類型必需是引用類型。

六、驗證性試驗1.試驗要求

構(gòu)建兩個ArrayList對象list1,list2,往兩個對象中各添加兩個元素(如輸入1,2),并輸出。輸出結(jié)果如圖1.1所示:

圖1.1線性表的使用

2.源程序代碼參考importjava.util.ArrayList;

publicclassGeneric{

/**

*泛型應(yīng)用測試*/

publicGeneric(){

ArrayListlist1=newArrayList();

}

//程序入口main方法

publicstaticvoidmain(String[]args){

ArrayListlist2=newArrayList();list1.add(**代碼3**);list1.add(\代碼4**\list2.add(**代碼5**);list2.add(**代碼6**);

System.out.println(list1.toString());System.out.println(list2.toString());

newGeneric();

}}

七、設(shè)計性試驗

1.試驗要求

請應(yīng)用泛型編寫程序。首先定義一個接口,它至少包含一個可以計算面積的成員方法。然后編寫實現(xiàn)該接口的兩個類:正方形類和圓類。接著編寫一個有泛型特點的類,要求利用這個類可以在控制臺窗口中輸出某種圖形的面積,而且這個類的類型變量所在控制臺窗口中分別輸出給定邊長的正方形的面積和給定半徑的圓的面積。結(jié)果如圖1.2所示:

圖1.2圖形的面積

試驗G02:Java集合架構(gòu)

一、試驗名稱和性質(zhì)

所屬課程試驗名稱試驗學(xué)時試驗性質(zhì)必做/選做面向?qū)ο蟪绦蛟O(shè)計Java集合架構(gòu)2?驗證綜合?設(shè)計?必做選做二、試驗?zāi)康?/p>

1.熟悉Set接口,了解何時及如何使用HashSet,LinkedHashSet,orTreeSet來存儲元素;2.熟悉List接口,了解何時及如何使用ArrayListorLinkedList存儲元素;

3.區(qū)分VectorandArrayList,了解如何使用VectorandStack;4.使用Collections、Arrays類中的靜態(tài)方法。

三、試驗內(nèi)容

1.創(chuàng)立一個散列集HashSet,一個鏈?zhǔn)缴⒘屑疞inkedHashSet,和一個樹形集TreeSet,向各集合中添加單詞,并打印。根據(jù)結(jié)果分析三個集合的不同之處(驗證性內(nèi)容)。

2.編寫一程序,創(chuàng)立用數(shù)字填充的數(shù)組線性表ArrayList,將新元素添加到線性表的指定位置,再利用數(shù)組線性表創(chuàng)立一個鏈表,最終用Foreach語法遍歷該鏈表(驗證性內(nèi)容)。

3.設(shè)計一個程序,用來統(tǒng)計字符串“haveagoodday,haveagoodclass,haveagoodvisit,havefun!〞中的每個單詞出現(xiàn)的次數(shù),并依照單詞的升序輸出(建議使用HashMap和TreeMap)(設(shè)計性內(nèi)容)。

4.某中學(xué)有若干學(xué)生(學(xué)生對象放在一個List中),每個學(xué)生有一個姓名屬性、班級名稱屬性(String)和考試成績屬性(int),某次考試終止后,每個學(xué)生都獲得了一個考試成績。請打印出每個班級的總分和平均分(設(shè)計性內(nèi)容)。四、試驗的軟硬件環(huán)境要求

硬件環(huán)境要求:

PC計算機(jī);內(nèi)存512MB以上使用的軟件名稱、版本號以及模塊:

操作系統(tǒng):Windows2000或WindowsXP軟件:JDK6.0;Eclipse

五、知識準(zhǔn)備

前期要求把握的知識:把握集合架構(gòu)支持的三種結(jié)構(gòu)。

試驗相關(guān)理論或原理:一個集合就是一個存儲一組對象的容器,一般將這些對象稱為集合的元素。Java集合構(gòu)架支持三種類型的集合:規(guī)則集set、線性表list和圖map,他們分別定義在接口Set、List和Map中。HashSet類可以用來存儲互不一致的任何元素。鏈?zhǔn)缴⒘屑疞inkedHashSet使用鏈表實現(xiàn)了對HashSet類的擴(kuò)展,支持規(guī)則集內(nèi)元素的排序。SortedSet是Set的子接口,它保證規(guī)則集中的元素是有序的。為了允許在一個集合中存儲重復(fù)的元素,可以使用線性表。線性表不僅支持重復(fù)的存儲,而且支持用戶指定它們的存儲位置。Map接口建立元素和鍵值的一個映射關(guān)系,鍵值就像下標(biāo)。在List中,下標(biāo)是整數(shù),在Map中,鍵值可以是任意類型的對象。一個圖中不能有重復(fù)的鍵值,每個鍵值對應(yīng)一個

值。實現(xiàn)Map接口的具體類:散列圖HashMap、鏈?zhǔn)缴⒘袌DLinkedHashMap、樹形圖TreeMap。六、驗證性試驗驗證性試驗11.試驗要求

創(chuàng)立一個散列集HashSet,一個鏈?zhǔn)缴⒘屑疞inkedHashSet,和一個樹形集TreeSet,向各集合中添加單詞,并打印。根據(jù)結(jié)果分析三個集合的不同之處。輸出結(jié)果如圖2.1所示:

圖2.1集合應(yīng)用

2.源程序代碼參考/******Set集合********/importjava.util.HashSet;importjava.util.LinkedHashSet;importjava.util.Set;importjava.util.TreeSet;

publicclassSetTest{

/**

*集合測試*/

publicSetTest(){

Setset1=newHashSet();Setset2=newLinkedHashSet();set1.add(\set1.add(\set1.add(\set1.add(\set2.add(\set2.add(\set2.add(\

}

set2.add(\

TreeSettreeset=newTreeSet(set1);for(Objectelement:set1){}

System.out.println();

for(Objectelement:set2){}

System.out.println();

for(Objectelement:treeset){}

System.out.print(element.toString()+\System.out.print(element.toString()+\System.out.print(element.toString()+\

//程序入口main方法

publicstaticvoidmain(String[]args){

newSetTest();}

驗證性試驗21.試驗要求

編寫一程序,創(chuàng)立用數(shù)字填充的數(shù)組線性表ArrayList,將新元素添加到線性表的指定位置,再利用數(shù)組線性表創(chuàng)立一個鏈表,最終用Foreach語法遍歷該鏈表。輸出結(jié)果如圖2.2所示:

}

圖2.2線性表

2.程序參考代碼

/*********List集合*************/

importjava.util.*;publicclassListTest{}

/***List測試*/

privateArrayListarraylist;privateLinkedListlinkedlist;

publicListTest(){}

publicstaticvoidmain(String[]args){newListTest();}

arraylist=newArrayList();arraylist.add(1);arraylist.add(2);arraylist.add(3);arraylist.add(4);arraylist.add(5);arraylist.set(2,9);

linkedlist=newLinkedList(/*****代碼1*****/);linkedlist.add(3,\

System.out.println(\for(Objectt:arraylist){}

System.out.println();

System.out.println(\

/***********代碼段2(foreach遍歷)****************/

System.out.print(t+\

七、設(shè)計性試驗1.試驗要求

(1)設(shè)計一個程序,用來統(tǒng)計字符串“haveagoodday,haveagoodclass,haveagoodvisit,havefun!〞中的每個單詞出現(xiàn)的次數(shù),并依照單詞的升序輸出。(建議使用HashMap和TreeMap)

輸出結(jié)果如圖圖2.3所示:

圖2.3

(2)某中學(xué)有若干學(xué)生(學(xué)生對象放在一個List中),每個學(xué)生有一個姓名屬性、班級名稱屬性(String)和考試成績屬性(int),某次考試終止后,每個學(xué)生都獲得了一個考試成績。請打印出每個班級的總分和平均分。八、思考題:

第一個驗證性試驗中,用HashSet對象創(chuàng)立TreeSet和用無參構(gòu)造方法來創(chuàng)立一個TreeSet實例有什么區(qū)別?哪個效率更高?為什么?

注意:更新一個Set集合時,假使不需要保持元素的順序關(guān)系,應(yīng)當(dāng)使用散列集,由于在散列集插入和刪除元素的時間較少;需要保持元素中的元素排序時,可以把他們轉(zhuǎn)化成樹形集。

試驗G03:多線程

一、試驗名稱和性質(zhì)

所屬課程試驗名稱試驗學(xué)時試驗性質(zhì)必做/選做二、試驗?zāi)康?/p>

1.理解線程概念;了解線程的狀態(tài)和生命周期;2.學(xué)習(xí)繼承Thread類來創(chuàng)立線程;

3.理解線程互斥與同步的含義;把握Synchrnized同步方法。

三、試驗內(nèi)容

1.設(shè)計一個包含多線程運行的程序,在主程序中依次創(chuàng)立3個線程,然后按順序啟動這3個線程,每個線程在執(zhí)行時都是先睡眠(sleep)一會兒,醒來之后再繼續(xù)執(zhí)行(驗證性試驗)。

2.用程序模擬鐵路火車票售票系統(tǒng),實現(xiàn)通過3個售票窗口同時銷售某次列車的100張車票。程序中會有3個線程同時對同一個車票對象進(jìn)行操作,每個線程的操作都按一致的步驟進(jìn)行,即將當(dāng)前車票數(shù)加1,然后將當(dāng)前車票數(shù)與剩余車票數(shù)顯示出來。由于車票數(shù)是臨界資源,一次只能有一個線程完成讀寫操作,因此必需處理好線程之間的互斥關(guān)系(設(shè)計性試驗)。

四、試驗的軟硬件環(huán)境要求

硬件環(huán)境要求:

PC計算機(jī);內(nèi)存512MB以上使用的軟件名稱、版本號以及模塊:

操作系統(tǒng):Windows2000或WindowsXP

軟件:JDK6.0;Ecliplse五、知識準(zhǔn)備

前期要求把握的知識:了解Java程序的運行流程。

試驗相關(guān)理論或原理:多線程是指一個程序中可以包含兩個或兩個以上同時并發(fā)運行的程序單元,每個程序單元稱之為一個線程。Java為多線程編程提供了語言級的支持,因此可以編寫高效率的程序。

一個線程從它被創(chuàng)立到運行終止的過程,稱為線程的生命周期。在Java中使用多線程有如下兩種方式:一是繼承Thread線程類,其次是實現(xiàn)Runnable接口。在Thread類中有兩個主要的方法,一個是run()方法,另一個是start()方法,在Thread類的派生類中要覆蓋這個run()方法,將多線程代碼放入其中。Start()方法的作用是啟動一個線程,它會自動地去調(diào)用run()方法以執(zhí)行該線程。

為了使多個線程互斥地使用臨界資源,可以在臨界資源上使用synchrnized修飾符。六、驗證性試驗

面向?qū)ο蟪绦蛟O(shè)計多線程設(shè)計4?驗證綜合?設(shè)計?必做選做

1.試驗要求

編譯、運行ThreeThreads.java程序,運行結(jié)果如圖3.1所示。

圖3.1驗證性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論