Java高級課程設計報告模板_第1頁
Java高級課程設計報告模板_第2頁
Java高級課程設計報告模板_第3頁
Java高級課程設計報告模板_第4頁
Java高級課程設計報告模板_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Java高級課程設計報告課程設計名稱:Java高級課程設計學 期:13-14-1班 級:計網(wǎng)1231班姓 名:黃磊指 導 老 師:劉志生、白黨強一、課程設計目的課程設計是課程教學中的一項重要內(nèi)容,是完成教學計劃達到教學目標的重要環(huán)節(jié),是教學計劃中綜合性較強的實踐教學環(huán)節(jié),它對幫助學生全面牢固地掌握課堂教學內(nèi)容、培養(yǎng)學生的實踐和實際動手能力、提高學生全面素質(zhì)具有很重要的意義。Java高級程序設計是一門實用性和實踐性都很強的課程,課程設計環(huán)節(jié)應占有更加重要的地位,它是JAVA程序設計課程的后繼。它要求學生能靈活掌握所學知識,為后續(xù)JSP程序設計、J2EE程序設計等后續(xù)課程打好基礎(chǔ)。 本課程設計的目

2、的旨在幫助學生掌握Java高級應用相關(guān)知識,主要包括面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu),Java的集合構(gòu)架、多線程、國際化、反射、泛型等內(nèi)容,培養(yǎng)學生應用所學知識分析問題,解決問題的能力。二、課程設計內(nèi)容項目1:編寫一個Java應用程序,讀取一個文本文件(以本程序源文件為例讀?。?,一次讀取其內(nèi)的一行文本,令每行形成一個String,并將讀出的String對象置于LinkedList中,以相反次序顯示出LinkedList內(nèi)的所有內(nèi)容String s;BufferedReader in= new BufferedReader(new ("B.java");while(s=in.readLin

3、e()!=null)l.add(s);in.close();for(int i=l.size()-1;i>=0;i-)System.out.println(l.get(i)+" ")這道題使用到了:讀取文件時用到了java.io包下的BufferedReader類;將讀出的String對象置于LinkedList中時用到了java.util包下LinkedList類;主要步驟時將文件讀取并置于LinkedList中,然后倒著輸出;項目2:編寫一個Java應用程序,利用RandomAccessFile類,把10個10到100之間互不相等的隨機int型整數(shù)寫入到一個名字為

4、int.dat文件中,然后按相反順序讀出這些數(shù)據(jù)置于TreeSet中,輸出這個集合。(注意,一個int型數(shù)據(jù)占4個字節(jié))RandomAccess = new RandomAccessFile(f, "rw");int a= new int10;int x,n=0;int k=0;while(n<10) x=(int)(Math.random()*89+11);for(int i=0;i<n;i+)if(x=ai)k=1;break;if(k=0) an+=x;這道題主要用到了RandomAccessFile類,支持對隨機訪問文件的讀取和寫入,隨機讀取10100之

5、間不相等int型整數(shù)。項目3:創(chuàng)建學生類,至少包括學號、姓名、年齡和身高屬性,一個構(gòu)造方法用于設置屬性,一個toString()方法用于將學生類對象轉(zhuǎn)換成String對象和一個用于比較大小的方法(實現(xiàn)Comparable接口的compareTo方法)。要求將10名學生從大到小排序輸出。(排序規(guī)則:先按年齡,然后按身高,最后按學號)public int compareTo(Object o) Student p=(Student)o; if (nl() < p.nl() return 1; if (nl() > p.nl() return -1; if (sg() < p.sg

6、() return 1; if (sg() > p.sg() return -1; if (xh() < p.xh() return 1; if (xh() > p.xh() return -1; else return 0; 這道題主要用了compareTo方法,它允許在排序順序上實現(xiàn)精確控制,還可以用來控制某些數(shù)據(jù)結(jié)構(gòu)的順序。這道題就是先按年齡,然后按身高,最后按學號來排序的。項目4:編寫一個Java網(wǎng)絡應用程序,該應用分服務器端程序和客戶端程序兩部分。服務器程序啟動后,監(jiān)聽端口5678的請求;客戶端程序啟動后,向服務器端口5678發(fā)送請求。服務器不斷接收客戶機所寫入的信

7、息,并且服務器也會做出"Receive"為回應,告知客戶機已接收到消息。要求:服務器程序采用多線程開發(fā),允許多個客戶端程序同時連接。客戶機發(fā)送"End"字符串時,客戶端程序退出。(服務端程序和客戶端程序分別命名為Server.java和Client.java)class ServerThread implements Runnable private Socket socket; public ServerThread(Socket socket) this.socket = socket; public void run() 服務器端程序主要是Serv

8、erThread類,它是套接字工廠的服務器端對應物,用來捕獲與正在創(chuàng)建的套接字相關(guān)的各種策略。if(a1.equals("end") socket.close(); fromServer.close(); toServer.close(); break; 這段是客戶端中在運行時輸入end結(jié)束程序運行的語句。項目5:編寫一個Java應用程序,使用RandomAccessFile流統(tǒng)計Hello.txt中的單詞,要求如下:(1)計算全文中共出現(xiàn)了多少個單詞(重復的單詞只計算一次);if(map.containsKey(word)map.put(word, Integer.par

9、seInt(map.get(word).toString()+1);elsemap.put(word, 1);System.out.println("單詞數(shù)量:"+map.size();containsKey方法根據(jù) Container 中的子 Component 的順序確定遍歷順序,不可視和不可顯示的部分層次結(jié)構(gòu)將不被搜索。(2)統(tǒng)計出有多少個單詞只出現(xiàn)了一次;List<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>();f

10、or(Iterator i = set.iterator();i.hasNext();)Map.Entry<String,Integer> entry = (Map.Entry<String,Integer>)i.next();if(entry.getValue().toString().equals("1")System.out.println(entry.getKey()+":出現(xiàn)一次"); list.add(entry);通過Entry,將多次出現(xiàn)的單詞省略,只留下出現(xiàn)一次的單詞并輸出。(3)統(tǒng)計并顯示出每個單詞出現(xiàn)的頻率,

11、并將這些單詞按出現(xiàn)頻率高低順序顯示出來。Collections.sort(list,new WordComparator();for(Map.Entry<String,Integer> entry:list)System.out.println(entry.getKey()+":"+entry.getValue();class WordComparator implements Comparatorpublic int compare(Object arg0, Object arg1)Map.Entry<String,Integer> map1 =

12、(Map.Entry<String,Integer>)arg0;Map.Entry<String,Integer>map2 = (Map.Entry<String,Integer>)arg1;return Integer.parseInt(map2.getValue().toString() - Integer.parseInt(map1.getValue().toString();Sort方法主要是請求 LDAP 服務器在返回搜索操作的結(jié)果前對這些結(jié)果進行排序。使用一個或多個排序鍵所組成的有序列表與關(guān)聯(lián)的排序參數(shù)一起指定排序標準。搜索結(jié)果根據(jù)排序控件中提供

13、的參數(shù)在 LDAP 服務器排序,然后返回給請求方。項目6:編寫一個簡單的考試系統(tǒng),題庫等數(shù)據(jù)存儲在MySQL數(shù)據(jù)庫中。啟動程序后,首先要求考生輸入學號、班級和姓名信息,之后隨機抽取一題等待回答,回答完后抽取下一題,以此類推,做完規(guī)定數(shù)目的題后,顯示成績,考試結(jié)束(也可以將做過的題保存在數(shù)據(jù)表中以便檢查修改,該功能可選)。Class.forName("com.mysql.jdbc.Driver"); Connectionconnection=DriverManager.getConnection("jdbc:mysql:/localhost:3306/hl"

14、;, "root", ""); Statement statement = connection.createStatement();String s1="create table 學生(學號 int,姓名 varchar(10),成績 int)" int y=statement.executeUpdate(s1); System.out.println("請輸入你要回答的題目數(shù)量(11694)");int z=input.nextInt();int a= new intz; int x,shu=0;while(s

15、hu<z) int k=0;x=(int)(Math.random()*1694);for(int i=0;i<shu;i+)if(x=ai)k=1;break;這道題主要是在數(shù)據(jù)庫中創(chuàng)建一個題庫,然后使用語句調(diào)用數(shù)據(jù)庫中的題庫,形成一個考試系統(tǒng)。同時要注意配java的環(huán)境,不然運行程序會出現(xiàn)錯誤。三、課程設計總結(jié)通過此次課程設計,使我更加扎實的掌握了有關(guān)編程方面的知識,在設計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗不足。實踐出真知,通過親自動手制作,使我們掌握的知識不再是紙上談兵。 過而能改,善

16、莫大焉。在課程設計過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的檢測調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀。這次課程設計終于順利完成了,在設計中遇到了很多問題,最后在老師的指導下,終于游逆而解。在今后社會的發(fā)展和學習實踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問題所在,然后一一進行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠不可能收獲成功,收獲喜悅,也永遠不可能得到社會及他人對你的認可! 課程設計誠然是一門專業(yè)課,給我很多專業(yè)知識以及專業(yè)技能上的提升,同時又是一門講道課,一門辯思課,給

17、了我許多道,給了我很多思,給了我莫大的空間。同時,設計讓我感觸很深。使我對抽象的理論有了具體的認識。我認為,在這學期的實驗中,不僅培養(yǎng)了獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在課上,我們學會了很多學習的方法。而這是日后最實用的,真的是受益匪淺。要面對社會的挑戰(zhàn),只有不斷的學習、實踐,再學習、再實踐。這對于我們的將來也有很大的幫助。以后,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國提倡的艱苦奮斗一樣,我們都可以在實驗結(jié)束之后變的更加成熟,會面對需要面對的事情。 回顧起此次Java課程設計,至今我仍感慨頗多,的確,從理論到實踐,在整整

18、兩星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計之后,一定把以前所學過的知識重新溫故。此次設計也讓我明白了思路即出路,有什么不懂不明白的地方要及時請教或上

溫馨提示

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

評論

0/150

提交評論