




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——面向?qū)ο蟪绦蛟O(shè)計(jì)試驗(yàn)指導(dǎo)書(shū)(定稿)
第五章《面象對(duì)象程序設(shè)計(jì)》課程試驗(yàn)
七、試驗(yàn)項(xiàng)目與內(nèi)容提要(experimentsprojectsanditscontent)序號(hào)123456Experimentname泛型Java集合架構(gòu)多線程網(wǎng)絡(luò)JavaBeans和Bean事件容器、布局管理器和邊框Objectives理解什么是泛型,了解通配符類(lèi)型把握J(rèn)ava集合構(gòu)架支持三種類(lèi)型的集合把握線程概念和如何創(chuàng)立線程把握Socket通信程序的設(shè)計(jì)方法理解JavaBeans組件的含義和Bean事件Personsinhoueachgrouprs1個(gè)單班(12class)1個(gè)單班(12class)1個(gè)單班(14class)1個(gè)單班(12class)1個(gè)單班(12class)LExperimentSelectiveofatypecompulsivebTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingCompulsiveTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingandCompulsiveDesigningTestingComprehensiveSelectiveSelective把握GridBagLayout、1個(gè)單班(1CardLayout、BoxLayout4class)等布局管理器1個(gè)單班(12class)1個(gè)單班(12class)1個(gè)單班(14class)1個(gè)單班(12class)1個(gè)單班(12class)78菜單、工具欄、把握主菜單、彈出式菜對(duì)話(huà)框單和工具欄MVC和Swing模型JTableJTree程序設(shè)計(jì)和把握Swing組件的模型-視圖-控件結(jié)構(gòu),JSpinner和JList把握J(rèn)Table和JTree的用法把握使用JDBCAPI訪問(wèn)數(shù)據(jù)庫(kù)的基本方法910Java數(shù)據(jù)庫(kù)11高級(jí)Java數(shù)把握批處理插入數(shù)據(jù)的據(jù)庫(kù)程序設(shè)計(jì)方法;把握處理可更新和可滾動(dòng)結(jié)果集方法12JSP基礎(chǔ)13Web應(yīng)用程序開(kāi)發(fā)把握J(rèn)SP程序設(shè)計(jì)基礎(chǔ)1個(gè)單班(12class)把握創(chuàng)立基于JSP的Web應(yīng)用程序的方法1個(gè)單班(12class)
試驗(yàn)G01:泛型
一、試驗(yàn)名稱(chēng)和性質(zhì)
所屬課程試驗(yàn)名稱(chēng)試驗(yàn)學(xué)時(shí)試驗(yàn)性質(zhì)必做/選做面向?qū)ο蟪绦蛟O(shè)計(jì)泛型2?驗(yàn)證綜合?設(shè)計(jì)?必做選做二、試驗(yàn)?zāi)康?/p>
1.理解為什么泛型類(lèi)型可以提高可靠性和可讀性;2.了解通配符類(lèi)型并理解為什么有必要使用該類(lèi)型;
3.理解泛型類(lèi)的所有實(shí)例共享同一個(gè)運(yùn)行類(lèi)文件。
三、試驗(yàn)內(nèi)容
1.構(gòu)建兩個(gè)ArrayList對(duì)象list1,list2,往兩個(gè)對(duì)象中各添加兩個(gè)元素(如輸入1,2),并輸出(驗(yàn)證性?xún)?nèi)容)。
2.應(yīng)用泛型編寫(xiě)程序(設(shè)計(jì)性?xún)?nèi)容)。四、試驗(yàn)的軟硬件環(huán)境要求
硬件環(huán)境要求:
PC計(jì)算機(jī);內(nèi)存512MB以上使用的軟件名稱(chēng)、版本號(hào)以及模塊:
操作系統(tǒng):Windows2000或WindowsXP軟件:JDK6.0;Eclipse
五、知識(shí)準(zhǔn)備
前期要求把握的知識(shí):把握線性表和接口。
試驗(yàn)相關(guān)理論或原理:泛型是參數(shù)化類(lèi)型的能力。表示形式泛型類(lèi)型,后面可以用一個(gè)實(shí)際具體類(lèi)型代替它。泛型類(lèi)型必需是引用類(lèi)型。
六、驗(yàn)證性試驗(yàn)1.試驗(yàn)要求
構(gòu)建兩個(gè)ArrayList對(duì)象list1,list2,往兩個(gè)對(duì)象中各添加兩個(gè)元素(如輸入1,2),并輸出。輸出結(jié)果如圖1.1所示:
圖1.1線性表的使用
2.源程序代碼參考importjava.util.ArrayList;
publicclassGeneric{
/**
*泛型應(yīng)用測(cè)試*/
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è)計(jì)性試驗(yàn)
1.試驗(yàn)要求
請(qǐng)應(yīng)用泛型編寫(xiě)程序。首先定義一個(gè)接口,它至少包含一個(gè)可以計(jì)算面積的成員方法。然后編寫(xiě)實(shí)現(xiàn)該接口的兩個(gè)類(lèi):正方形類(lèi)和圓類(lèi)。接著編寫(xiě)一個(gè)有泛型特點(diǎn)的類(lèi),要求利用這個(gè)類(lèi)可以在控制臺(tái)窗口中輸出某種圖形的面積,而且這個(gè)類(lèi)的類(lèi)型變量所在控制臺(tái)窗口中分別輸出給定邊長(zhǎng)的正方形的面積和給定半徑的圓的面積。結(jié)果如圖1.2所示:
圖1.2圖形的面積
試驗(yàn)G02:Java集合架構(gòu)
一、試驗(yàn)名稱(chēng)和性質(zhì)
所屬課程試驗(yàn)名稱(chēng)試驗(yàn)學(xué)時(shí)試驗(yàn)性質(zhì)必做/選做面向?qū)ο蟪绦蛟O(shè)計(jì)Java集合架構(gòu)2?驗(yàn)證綜合?設(shè)計(jì)?必做選做二、試驗(yàn)?zāi)康?/p>
1.熟悉Set接口,了解何時(shí)及如何使用HashSet,LinkedHashSet,orTreeSet來(lái)存儲(chǔ)元素;2.熟悉List接口,了解何時(shí)及如何使用ArrayListorLinkedList存儲(chǔ)元素;
3.區(qū)分VectorandArrayList,了解如何使用VectorandStack;4.使用Collections、Arrays類(lèi)中的靜態(tài)方法。
三、試驗(yàn)內(nèi)容
1.創(chuàng)立一個(gè)散列集HashSet,一個(gè)鏈?zhǔn)缴⒘屑疞inkedHashSet,和一個(gè)樹(shù)形集TreeSet,向各集合中添加單詞,并打印。根據(jù)結(jié)果分析三個(gè)集合的不同之處(驗(yàn)證性?xún)?nèi)容)。
2.編寫(xiě)一程序,創(chuàng)立用數(shù)字填充的數(shù)組線性表ArrayList,將新元素添加到線性表的指定位置,再利用數(shù)組線性表創(chuàng)立一個(gè)鏈表,最終用Foreach語(yǔ)法遍歷該鏈表(驗(yàn)證性?xún)?nèi)容)。
3.設(shè)計(jì)一個(gè)程序,用來(lái)統(tǒng)計(jì)字符串“haveagoodday,haveagoodclass,haveagoodvisit,havefun!〞中的每個(gè)單詞出現(xiàn)的次數(shù),并依照單詞的升序輸出(建議使用HashMap和TreeMap)(設(shè)計(jì)性?xún)?nèi)容)。
4.某中學(xué)有若干學(xué)生(學(xué)生對(duì)象放在一個(gè)List中),每個(gè)學(xué)生有一個(gè)姓名屬性、班級(jí)名稱(chēng)屬性(String)和考試成績(jī)屬性(int),某次考試終止后,每個(gè)學(xué)生都獲得了一個(gè)考試成績(jī)。請(qǐng)打印出每個(gè)班級(jí)的總分和平均分(設(shè)計(jì)性?xún)?nèi)容)。四、試驗(yàn)的軟硬件環(huán)境要求
硬件環(huán)境要求:
PC計(jì)算機(jī);內(nèi)存512MB以上使用的軟件名稱(chēng)、版本號(hào)以及模塊:
操作系統(tǒng):Windows2000或WindowsXP軟件:JDK6.0;Eclipse
五、知識(shí)準(zhǔn)備
前期要求把握的知識(shí):把握集合架構(gòu)支持的三種結(jié)構(gòu)。
試驗(yàn)相關(guān)理論或原理:一個(gè)集合就是一個(gè)存儲(chǔ)一組對(duì)象的容器,一般將這些對(duì)象稱(chēng)為集合的元素。Java集合構(gòu)架支持三種類(lèi)型的集合:規(guī)則集set、線性表list和圖map,他們分別定義在接口Set、List和Map中。HashSet類(lèi)可以用來(lái)存儲(chǔ)互不一致的任何元素。鏈?zhǔn)缴⒘屑疞inkedHashSet使用鏈表實(shí)現(xiàn)了對(duì)HashSet類(lèi)的擴(kuò)展,支持規(guī)則集內(nèi)元素的排序。SortedSet是Set的子接口,它保證規(guī)則集中的元素是有序的。為了允許在一個(gè)集合中存儲(chǔ)重復(fù)的元素,可以使用線性表。線性表不僅支持重復(fù)的存儲(chǔ),而且支持用戶(hù)指定它們的存儲(chǔ)位置。Map接口建立元素和鍵值的一個(gè)映射關(guān)系,鍵值就像下標(biāo)。在List中,下標(biāo)是整數(shù),在Map中,鍵值可以是任意類(lèi)型的對(duì)象。一個(gè)圖中不能有重復(fù)的鍵值,每個(gè)鍵值對(duì)應(yīng)一個(gè)
值。實(shí)現(xiàn)Map接口的具體類(lèi):散列圖HashMap、鏈?zhǔn)缴⒘袌DLinkedHashMap、樹(shù)形圖TreeMap。六、驗(yàn)證性試驗(yàn)驗(yàn)證性試驗(yàn)11.試驗(yàn)要求
創(chuàng)立一個(gè)散列集HashSet,一個(gè)鏈?zhǔn)缴⒘屑疞inkedHashSet,和一個(gè)樹(shù)形集TreeSet,向各集合中添加單詞,并打印。根據(jù)結(jié)果分析三個(gè)集合的不同之處。輸出結(jié)果如圖2.1所示:
圖2.1集合應(yīng)用
2.源程序代碼參考/******Set集合********/importjava.util.HashSet;importjava.util.LinkedHashSet;importjava.util.Set;importjava.util.TreeSet;
publicclassSetTest{
/**
*集合測(cè)試*/
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();}
驗(yàn)證性試驗(yàn)21.試驗(yàn)要求
編寫(xiě)一程序,創(chuàng)立用數(shù)字填充的數(shù)組線性表ArrayList,將新元素添加到線性表的指定位置,再利用數(shù)組線性表創(chuàng)立一個(gè)鏈表,最終用Foreach語(yǔ)法遍歷該鏈表。輸出結(jié)果如圖2.2所示:
}
圖2.2線性表
2.程序參考代碼
/*********List集合*************/
importjava.util.*;publicclassListTest{}
/***List測(cè)試*/
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è)計(jì)性試驗(yàn)1.試驗(yàn)要求
(1)設(shè)計(jì)一個(gè)程序,用來(lái)統(tǒng)計(jì)字符串“haveagoodday,haveagoodclass,haveagoodvisit,havefun!〞中的每個(gè)單詞出現(xiàn)的次數(shù),并依照單詞的升序輸出。(建議使用HashMap和TreeMap)
輸出結(jié)果如圖圖2.3所示:
圖2.3
(2)某中學(xué)有若干學(xué)生(學(xué)生對(duì)象放在一個(gè)List中),每個(gè)學(xué)生有一個(gè)姓名屬性、班級(jí)名稱(chēng)屬性(String)和考試成績(jī)屬性(int),某次考試終止后,每個(gè)學(xué)生都獲得了一個(gè)考試成績(jī)。請(qǐng)打印出每個(gè)班級(jí)的總分和平均分。八、思考題:
第一個(gè)驗(yàn)證性試驗(yàn)中,用HashSet對(duì)象創(chuàng)立TreeSet和用無(wú)參構(gòu)造方法來(lái)創(chuàng)立一個(gè)TreeSet實(shí)例有什么區(qū)別?哪個(gè)效率更高?為什么?
注意:更新一個(gè)Set集合時(shí),假使不需要保持元素的順序關(guān)系,應(yīng)當(dāng)使用散列集,由于在散列集插入和刪除元素的時(shí)間較少;需要保持元素中的元素排序時(shí),可以把他們轉(zhuǎn)化成樹(shù)形集。
試驗(yàn)G03:多線程
一、試驗(yàn)名稱(chēng)和性質(zhì)
所屬課程試驗(yàn)名稱(chēng)試驗(yàn)學(xué)時(shí)試驗(yàn)性質(zhì)必做/選做二、試驗(yàn)?zāi)康?/p>
1.理解線程概念;了解線程的狀態(tài)和生命周期;2.學(xué)習(xí)繼承Thread類(lèi)來(lái)創(chuàng)立線程;
3.理解線程互斥與同步的含義;把握Synchrnized同步方法。
三、試驗(yàn)內(nèi)容
1.設(shè)計(jì)一個(gè)包含多線程運(yùn)行的程序,在主程序中依次創(chuàng)立3個(gè)線程,然后按順序啟動(dòng)這3個(gè)線程,每個(gè)線程在執(zhí)行時(shí)都是先睡眠(sleep)一會(huì)兒,醒來(lái)之后再繼續(xù)執(zhí)行(驗(yàn)證性試驗(yàn))。
2.用程序模擬鐵路火車(chē)票售票系統(tǒng),實(shí)現(xiàn)通過(guò)3個(gè)售票窗口同時(shí)銷(xiāo)售某次列車(chē)的100張車(chē)票。程序中會(huì)有3個(gè)線程同時(shí)對(duì)同一個(gè)車(chē)票對(duì)象進(jìn)行操作,每個(gè)線程的操作都按一致的步驟進(jìn)行,即將當(dāng)前車(chē)票數(shù)加1,然后將當(dāng)前車(chē)票數(shù)與剩余車(chē)票數(shù)顯示出來(lái)。由于車(chē)票數(shù)是臨界資源,一次只能有一個(gè)線程完成讀寫(xiě)操作,因此必需處理好線程之間的互斥關(guān)系(設(shè)計(jì)性試驗(yàn))。
四、試驗(yàn)的軟硬件環(huán)境要求
硬件環(huán)境要求:
PC計(jì)算機(jī);內(nèi)存512MB以上使用的軟件名稱(chēng)、版本號(hào)以及模塊:
操作系統(tǒng):Windows2000或WindowsXP
軟件:JDK6.0;Ecliplse五、知識(shí)準(zhǔn)備
前期要求把握的知識(shí):了解Java程序的運(yùn)行流程。
試驗(yàn)相關(guān)理論或原理:多線程是指一個(gè)程序中可以包含兩個(gè)或兩個(gè)以上同時(shí)并發(fā)運(yùn)行的程序單元,每個(gè)程序單元稱(chēng)之為一個(gè)線程。Java為多線程編程提供了語(yǔ)言級(jí)的支持,因此可以編寫(xiě)高效率的程序。
一個(gè)線程從它被創(chuàng)立到運(yùn)行終止的過(guò)程,稱(chēng)為線程的生命周期。在Java中使用多線程有如下兩種方式:一是繼承Thread線程類(lèi),其次是實(shí)現(xiàn)Runnable接口。在Thread類(lèi)中有兩個(gè)主要的方法,一個(gè)是run()方法,另一個(gè)是start()方法,在Thread類(lèi)的派生類(lèi)中要覆蓋這個(gè)run()方法,將多線程代碼放入其中。Start()方法的作用是啟動(dòng)一個(gè)線程,它會(huì)自動(dòng)地去調(diào)用run()方法以執(zhí)行該線程。
為了使多個(gè)線程互斥地使用臨界資源,可以在臨界資源上使用synchrnized修飾符。六、驗(yàn)證性試驗(yàn)
面向?qū)ο蟪绦蛟O(shè)計(jì)多線程設(shè)計(jì)4?驗(yàn)證綜合?設(shè)計(jì)?必做選做
1.試驗(yàn)要求
編譯、運(yùn)行ThreeThreads.java程序,運(yùn)行結(jié)果如圖3.1所示。
圖3.1驗(yàn)證性
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 以實(shí)踐為翼:初中科學(xué)教材體驗(yàn)與活動(dòng)欄目?jī)?yōu)化新探
- 以大連四所高中為例剖析高中生自主管理:現(xiàn)狀洞察與教育對(duì)策探尋
- 銜接新高一-語(yǔ)文分班考模擬卷分班考模擬卷(一)
- 單孔管行業(yè)深度研究分析報(bào)告(2024-2030版)
- 中國(guó)油箱托架行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告(2024-2030)
- 2025年中國(guó)氧化鋯空心球磚行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025屆江蘇省無(wú)錫市太湖高級(jí)中學(xué)化學(xué)高二下期末復(fù)習(xí)檢測(cè)試題含解析
- 大堰灣水庫(kù)施工工作管理報(bào)告
- 2025-2030年中國(guó)診斷器行業(yè)深度研究分析報(bào)告
- 2025年中國(guó)新能源汽車(chē)空調(diào)系統(tǒng)市場(chǎng)發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 醫(yī)療崗位定編管理制度
- 社區(qū)衛(wèi)生服務(wù)站建設(shè)與運(yùn)營(yíng)管理
- 國(guó)家開(kāi)放大學(xué)《藥物治療學(xué)(本)》形考作業(yè)1-4參考答案
- 基于深度學(xué)習(xí)的光學(xué)圖像海面艦船目標(biāo)智能檢測(cè)與識(shí)別技術(shù)探究
- DB50-T 1808-2025“一表通”智能報(bào)表市級(jí)業(yè)務(wù)數(shù)據(jù)規(guī)范
- 《太陽(yáng)能電池片制造培訓(xùn)》課件
- 特殊飲食情況的案例討論試題及答案
- 深圳輔警考試試卷真題及答案
- 收樓驗(yàn)房知識(shí)培訓(xùn)課件
- 林草行業(yè)安全生產(chǎn)
- 防中暑課件部隊(duì)
評(píng)論
0/150
提交評(píng)論