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

java聊天室設計總結

時間:2019-05-12 11:12:32下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《java聊天室設計總結》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《java聊天室設計總結》。

第一篇:java聊天室設計總結

JAVA聊天室程序設計總結

大二第一學期末我們進行了為期兩周的java實習,這次的實習內容是設計一個多人聊天室。在網絡越來越發達的今天,人們對網絡的依賴越來越多,越來越離不開網絡,由此而產生的聊天工具越來越多,類似QQ、MSN,網絡聊天時一類的聊天系統的發展日新月異,因此老師布置了制作一個有簡單聊天功能的網絡聊天程序的課程;而且通過制作該程序還能更好的學習網絡軟件編程知識。

一、設計內容

利用java語言實現聊天室程序。聊天室分為服務器端和客戶端兩部分,服務器端程序主要負責偵聽客戶端發來的消息,客戶端需登錄到服務器端才可以實現正常的聊天功能。設計的聊天室能實現用戶登錄,顯示登錄用戶列表,以及發送聊天信息和顯示聊天信息的功能。并可以選擇接收信息的用戶進行單發或群發的功能,運行程序,登錄服務器后,可以從列表中選擇單個或多個用戶進行聊天,它是圖形界面,線程,流與文件系統等技術的綜合應用。

二、實現功能

1、啟動服務器端,接收客戶端發來的信息,并在服務器端窗體顯示客戶端聊天信息,再吧信息返給在線用戶。

2、啟動客戶端,進入客戶端頁面,輸入用戶名,點擊登錄按鈕,在顯示在線用戶列表內顯示用戶名。

3、發送編輯框輸入發送內容,單擊發送按鈕,啟動輸出流,把信息發送出去,同時把發出的信息追加到聊天內容文本域內,顯示用戶名,時間和發送內容。

4、聊天信息文本域,在線用戶顯示域和發送信息的文本域加了滾動條,其中聊天信息文本域,發送信息的文本域的文字能自動換行。

5、別的客戶端發來信息是通過輸入流讀取信息,并截取發來信息的用戶名及信息,用戶名加到在線用戶列表上顯示在線,信息追加到聊天內容文本域內,顯示用戶名,時間和發送內容。

三、設計收獲

這是大學以來第一次自主設計一個聊天程序,于我來說還是很有新鮮感但同時也有著稍許擔心。通過此次課程設計,將我本學期所學的JAVA知識得到鞏固和應用,在設計的過程中我遇到了很到問題,但經過一次又一次的思考,一遍又一遍的檢查和在老師、同學們的幫助下,慢慢的走上了成功之路,同時也暴露出了前期我在這方面的知識欠缺和經驗不足。實踐出真知,通過親自動手制作,使我們掌握的知識不再是紙上談兵。這次課程設計還讓我懂得了寫程序不能閉門造車,要努力拓寬知識面,開闊視野,拓展思維。它還讓我學會了在網上查閱那些無限的資料。讓我不僅學會了書本上的知識,還讓自己能夠面對困難并且克服它使我更加扎實的掌握了有關JAVA方面的知識。過而能改,善莫大焉。在聊天室設計過程中,我們不斷發現錯誤,不斷改正,不斷領悟,不斷獲齲最終的檢測調試環節,本身就是在踐行“過而能改,善莫大焉”的知行觀。程序雖然完成,但是距離優秀仍存在一定差距,用JAVA開發大型項目還有很多我需要去努力學習的知識。希望自己能不斷學習和實踐,爭取以后做得更好。

第二篇:JAVA聊天室實驗報告

Java聊天室實驗報告

班 級:學 號:姓 名:

****** ******** ***

目錄:

一、實驗目的.......................................................3

二、所需技術.......................................................3

三、需求分析.......................................................3

四、系統設計.......................................................4

1、服務器結構..................................................4

2、客戶端結構..................................................4

五、實現細節.......................................................5

1、客戶端細節...................................................5

2、服務器細節...................................................6

六、系統展示.......................................................7

七、實驗小結.......................................................9

Rain153 WeChat 聊天室系統一、實驗目的:

1、使用Java技術完成聊天室系統,深入學習使用Java語言。

2、使用Java 的多線程機制,深入理解Java多線程技術的應用。

3、使用GUI,對JFrame的深入學習。

4、使用網絡編程,掌握基于TCP協議的Socket編程,了解Socket編程的協議約定,掌握簡單應用協議的開發。

5、使用C/S架構,對網絡編程有一定的了解。

二、所需技術

本系統要求使用java技術開發。所需知識包括java程序設計語言、swing基本GUI組件、多線程編程、socket編程、集成開發環境使用eclipse。系統采用兩層C/S體系結構,C端負責通過GUI與客戶交互,實現注冊、登陸、收發信息、退出等功能; S端是聊天系統的服務器。

三、需求分析

開發一個類似QQ 的聊天室系統,即WeChat聊天系統。該系統應具有如下功能:

1、2、用戶注冊、登錄 群聊;

3、私聊;

4、服務器發送系統消息;

5、服務器踢人;

6、保存日志;

7、保存聊天信息;

四、系統設計

1、服務器結構

啟動服務器監聽AppServer服務器控制監聽窗體ServerFrameConnection處理所有用戶請求

服務器端結構圖示

2、客戶端結構

啟動客戶端ChatClient用戶登錄窗體Login用戶聊天主窗體ChatRoom時鐘窗體ClockRegister用戶注冊窗體Windowclose用戶窗體監聽器

客戶端結構圖示

1、AppServer.java

為服務器端監聽類,負責服務器的啟動,包括啟動監聽端口、服務器監控界面。

2、ServerFrame.java 為服務器監控窗體,負責監控服務器運行狀態。

3、Connection.java 為服務器連接處理的具體實現。

4、ChatClient.java 為客戶端程序啟動類,負責客戶端的啟動和退出。

5、Login.java 為客戶端程序登錄界面,負責用戶帳號信息的驗證與反饋。

6、Register.java 為客戶端程序注冊界面,負責用戶帳號信息的注冊驗證與反饋。

7、ChatRoom.java 為客戶端程序聊天室主界面,負責接收、發送聊天內容與服務器的Connection合作。

8、Windowclose 為ChatRoom.java的內部類,負責監聽聊天室界面的操作,當用戶退出時返回給服務器信息。

9、Clock.java 為客戶端程序的一個小程序,實現的一個石英鐘功能。(可選)

五、實現細節

概述:聊天室主要功能的實現:從界面輸入登錄信息,然后與服務器建立Socket連接(連接時應指定服務器的IP地址和端口號,而客戶端socket的端口由本方操作系統從空閑端口中確定),服務器端的“傾聽Socket”收到連接請求后,一般會接受連接請求,并生成一個服務端socket,專門負責與此客戶端socket的通信。一旦連接請求成功,客戶端將信息及請求通過本方socket的輸出流發送給服務器端相應的socket,服務端則通過服務器端Socket的輸入流接受客戶端傳輸過來的信息及請求,分析是何請求,然后根據請求類型,進行相應的處理(如登錄、轉發信息等)。服務方也可以根據需要,通過socket的輸出流發信息和請求給客戶端(公告)。客戶方和服務方都可以通過關閉本方的socket而結束一次通訊過程。為了實現多客戶在線的請求,使用多線程機制來處理,對每一個客戶端連接通訊,服務器端都有一個線程專門負責處理。

一)客戶端細節

1、注冊:

當選擇注冊時,Register界面等待用戶輸入注冊信息,并將信息封裝成Register_Customer類,然后通過建立在Socket的連接之上的對象輸出流將用戶注冊信息發送給服務器端,服務器端將請求轉發給Connection處理,Connection 在收到信息后將驗證數據的完整性并在數據庫中查找該用戶名是否已經注冊,然后將注冊信息加入數據庫,最后將注冊結果返回給客戶端??蛻舳孙@示注冊結果。

2、登錄:

當選擇登錄時,客戶端由Login 界面等待用戶輸入登錄信息后,封裝成Customer對象類然后通過建立在Socket的連接之上的對象輸出流將用戶登錄信息發送給服務器端,服務器端將請求轉發給Connection處理,Connection 在收到信息后將驗證數據的完整性并在對象型數據庫中查找該用戶名是否已經注冊,然后將注冊用戶的信息與登錄請求信息進行密碼驗證,在登錄成功后將該用戶添加到在線用戶列表,最后將登錄結果返回給客戶端。若登錄成功,客戶端將啟動聊天室主界面。

3、聊天 a、發送聊天信息:私聊功能需在在線列表中選中私聊聊天對象,并勾選私聊選項。群聊功能取消對私聊功能的勾選即可。當用戶點擊完發送按鈕后,程序開始將當前用戶名、聊天對象、聊天內容、表情和是否私聊進行封裝,然后獲取Socket連接,再用對象輸出流包裝Socket的輸出流將聊天信息對象發送給服務器端。

b、接收聊天信息:用一個單獨的接收線程實現,客戶端必須隨時接收服務器發來的消息,而讀取消息的方法采用的是阻塞式方法,若在事件處理程序中讀(占用的是事件處理線程)則會使程序在此后無法響應用戶操作,所以需要生成一個單獨的線程專門用于讀取處理消息。而發送消息的方法則是將消息放入操作系統的發送緩沖區后就返回的,所以發送執行的相當快,可以在事件處理線程中直接調用。發送和接收可以同時進行。二)服務器端細節

1、注冊:創建一個File文件類,載入“user.txt”,再用對象輸入流ObjectInputStream包裝File文件類,將存儲在“user.txt”得向量對象Vector中載入內存中,現在系統中的向量就是對象型數據庫,存儲著每條用戶信息對象。判斷是否是第一個注冊用戶,判斷用戶名是否已經存在,判斷用戶名是否為系統關鍵字,用戶名有效后 寫入數據庫,并給客戶端返回信息,關閉Socket連接。

2、登錄:去數據庫讀用戶數據,打開用戶數據庫文件“user.txt”,將用戶數據對象集載入內存,以供下面的程序使用。驗證用戶名是否存在,驗證用戶密碼是否正確,驗證用戶是否已經登錄,驗證是否已經超過最大登錄人數,如果以上驗證全部正確,返回客戶端信息,關閉Socket連接。

3、退出:接收退出信息,當用戶退出時,客戶端將會用基于Socket的對象輸出流發給服務器退出對象,把用戶從在線列表中刪除,更新在線列表。

4、聊天:接收用戶聊天信息,當用戶發送聊天信息時,服務端將會收到客戶端用Socket傳輸過來的聊天信息對象,然后將其轉換為Message對象,返回聊天信息,然后系統從Message中提出消息類型,再根據類型將消息強制轉化ChatMessage,調用ChatMeaage中方法,獲取目的客戶名稱列表,根據目的地用戶名從用戶名、socket鍵值表中獲取socket,再通過socket將Message轉發到相應的用戶。

六、系統展示

1、注冊

客戶端注冊界面

2、登錄

客戶端登錄界面

3、聊天界面

聊天界面

4、服務器界面

服務器管理界面

服務器用戶信息管理界面

七、實驗小結

本次實驗是比較復雜的一個題目,采用C/S架構設計的聊天室,使用增量迭代方式開發,從初始的0.1版到最終的2.0正式版。通過本次實驗,對C/S架構有了較深的認識,也對多線程編程、網絡編程、GUI的認識更清晰。在項目中遇到很多問題,在解決問題的過程中,對Java也漸漸的熟悉,尤其是對各種異常的處理更是對自己的一種鍛煉。在此次實驗中應用了很多上課時未講到的知識,自己查閱API,閱讀JDK源碼學習方法的使用讓自己收獲頗豐。由于這是一個人的項目,雖然在項目的實施上很自由,可到問題沒有人討論,耗費了很多精力,不過這也是提高自己的好方法。

該Rain153 WeChat聊天室由于時間原因,很多功能實現的并不合理,也有些功能尚未實現。Rain153 WeChat并未與數據庫連接,只是簡單的用文件保存用具信息及消息記錄。

第三篇:java局域聊天室實踐總結

河北科技師范學院

JAVA程序設計課程設計

個人實習總結

實習類型 課程設計 實習單位 指導教師 所在院(系)信息技術系 班 級 姓 名 學

_

一、實習時間和地點

時間:2015.3.17-2015.4.14 地點:F310、F311

二、實習的內容

我所開發的系統是:局域網聊天系統。系統功能簡要說明如下:

該程序實現局域網內的聊天功能,包括服務器端程序和客戶端程序兩部分。

1、服務器:負責處理各個客戶端的信息,并負責將信息進行轉發。①服務器主要負責響應客戶端的的各種信息,包括鏈接服務器,用戶信息發送,各個客戶端的信息相互轉發。②服務器的實現有Server類,Server類主要是進行初始化的工作

2、客戶端:用戶使用界面,負責接受信息以及與服務器進行通信。①客戶端負責為用戶提供聊天界面,將信息發送至服務器,接受服務器的反饋信息等一系列的工作。②客戶端的實現有Client類,Client類負責與服務器,其它客戶端進行通信。

1.連接:點擊“連接”按鈕之后將信息發送到服務器端,服務器端創建相應的連接,并將更新后的用戶列表發送給所有用戶。2.發送:根據發送者、發送對象、發送的話創建一個字段發送到服務器端。3.清空:清空客戶端接收信息聊天對話框。4.私聊TA:選擇在線主機ip,根據ip地址發送一個私密聊天請求到服務器,服務器選擇相

應的地址進行信息發送。本程序可以有多個用戶,只需在一臺服務器上運行服務端程序,所有的用戶連接上了之后就可以正常通信。

人們日常生活中越來越多地使用聊天室這項應用來為自己的工作和學習服務。一個操作簡單,界面友好、運行穩定的聊天室對于小型局域網的用戶可以起到很好的交流作用。所謂聊天室就是一個可以讓許多用戶同時互相通信的網上園地,個人用戶可以通過聊天室將自己融入整個主流社會中。因此我們這個聊天室選擇了簡潔的界面搭建。因為之前學過JFrame類的使用,所以界面搭建部分代碼如下:

public class TCPClient extends JFrame {

public static String olip;private static final long serialVersionUID = 1L;JTextArea jtaContent = new JTextArea();JTextField jtaInstant = new JTextField();JButton jbSend = new JButton(“發送”);JButton jbConnect = new JButton(“連接”);JButton jbClear = new JButton(“清空”);JLabel jlTip=new JLabel(“在線主機”);JButton jbPChat=new JButton(“私聊TA”);JPanel jpBtns = new JPanel();JPanel jpContact=new JPanel();jtaContent.setEditable(false);jpBtns.setLayout(new GridLayout(1, 3, 5, 5));jpBtns.add(jbConnect);jpBtns.add(jbSend);jpBtns.add(jbClear);jpBtns.setBounds(0, 375, 350, 30);JScrollPane jspText=new JScrollPane(jtaInstant);jspText.setBounds(0, 310, 350, 65);JScrollPane jspContactOL=new JScrollPane(jcbContact);JScrollPane jspContent=new JScrollPane(jtaContent);jspContent.setBounds(0, 0, 350, 300);jpContact.setLayout(new GridLayout(5, 5, 1, 3));jpContact.add(jlTip);jpContact.add(jspContactOL);jpContact.add(jbPChat);jpContact.setBounds(350, 0, 135, 220);public void launchFrame(){

add(jpContact);add(jpBtns);add(jspText);add(jspContent);setLayout(null);setSize(500, 450);setLocation(100, 100);setTitle(“Chat Client”);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);由于本人學習的java不是特別扎實,所以界面的設計代碼經過參考反復實驗才達到要求。界面完成后才發現真正的挑戰剛剛開始。我們需要得到本機ip地址并傳送至服務器,部分代碼如下:

InetAddress

myIP;myIP=InetAddress.getLocalHost();s = new Socket(myIP.getHostAddress(), 9402);然后我們發送IP地址,其他客戶端收到此地址時會判別,判別為IP地址,其它客戶端會將這一IP地址規劃為在線用戶:

InetAddressmyIP;myIP=InetAddress.getLocalHost();strIP=myIP.getHostAddress();dos.writeUTF(“a”+strIP);我們還設計了一個私聊功能,所以就需要實現事件的監聽: Timer tm1=newTimer(1000,newActionListener(){ @Override public voidactionPerformed(ActionEvent e){ tm3.stop();jbPChat.setText(“通知”);tm2.start();}});Timer tm2=new Timer(1000, new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ tm1.stop();jbPChat.setText(“有私聊消息”);tm3.start();}});

Timer tm3=new Timer(1000, new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ tm2.stop();jbPChat.setText(“請查收”);tm1.start();}});這樣,當有私聊信息請求傳送過來時通過這些提醒就可以實現私聊功能。起初我們有這些功能的想法,覺得通過網絡書籍能夠很方便的查找到??墒菍嶋H操作實驗中遇到了不少困難。比如這個私聊功能的實現。剛開始連接成功后選擇私聊對象,我們決定以IP地址為依據。加入選擇IP地址功能后點擊私聊,發現客戶端可以收到私聊提示,可是卻收不到具體的文字信息。為此我們查找了大量信息,終于成功的實現了私聊功能。

后來我想,能不能讓服務器端連接數據庫。在客戶端設置一個注冊界面,讓用戶更具體化,這樣識別身份時就不用再使用IP地址。客戶端用戶的注冊信息會保存在數據庫里,下次登錄客戶端就用屬于個人的ID和密碼。首先要實現用戶的注冊:

public void register(){ String strServerIp = txtHost.getText();String strServerPort=txtPort.getText();this.dispose();new Register(strServerIp,strServerPort);然后向服務器端發送“注冊”的命令。服務器處理接收到的命令為“注冊”時調用函數,合法注冊后,向客戶端發送“注冊成功”的消息,并斷開連接。由于時間關系,數據庫未能完成,希望下次有機會可以完善。

三、心得體會

1.成績與收獲

這次軟件開發讓我學到了很多知識。只是只有轉變成實際而有用的東西才能顯現出它的價值。學習不只是學習理論只是,更重要的是自己的動手操作能力。這個軟件工程的項目實戰讓我真切感受到軟件開發的全過程,這讓我明白軟件的開發是一門藝術,而不是代碼的簡單疊加。這需要一個小組的共同努力。這次開發讓我跟深入的去思考了一個軟件的構成與實現。以前用通訊軟件是從未思考過如何實現它的功能,等自己來做是才發現里面要考慮的東西很多。在實踐中,我也學到了很多java編程方面的知識。2.問題與不足

由于java編程運用的不是特別熟練,加上時間問題,我們的程序還有很多不盡

如人意的地方。例如:很多功能沒有實現(語音視頻,文件傳輸,個人信息等等),并且界面比較粗糙。這些都是以后需要努力的地方。水平所限,致使程序實現的功能在方法上也許不是很完美,但我以后會多向老師請教,自己也要加強對java的學習。努力進一步提高自己的編程水平。

第四篇:Java聊天室課程設計報告

UML課程設計

題 目

網絡聊天程序開發設計與實現

學 號:201515614376 姓 名: 衛國輝 指導教師:

完成時間:2017年 12月

0

目錄

1.摘要.............................................................................................................................2 2.緒論.............................................................................................................................0 2.開發環境.....................................................................................................................0 3.需求分析....................................................................................................................1

3.1程序簡介...........................................................................................................1 3.2程序功能...........................................................................................................1 4.系統設計.....................................................................................................................2

4.1概要設計...........................................................................................................2 4.2詳細設計............................................................................................................2 5.測試.............................................................................................................................7 6.結論.............................................................................................................................9 參考文獻......................................................................................................................10

摘要

本次訓練主要是考查了對JAVA程序設計的綜合運用,設計一個Socket通信的聊天程序,用戶可以通過程序進行聊天通信,但不支持用戶自定義表情及圖片的發送。

本程序設計也用到了一些相關的標準Java的類,給程序設計帶來了許多的方便,但用那些要切記加相應的類的包,還有一些構造方法和個別接口方法。

本程序可以實現用戶之間的一些簡單的交互,雖然功能較少,但是我想通過這次程序設計來熟悉并且學習更多關于JAVA編程的東西,來便于以后可以使用。

關鍵詞:java聊天

1.緒論

對于一個選擇網絡編程的人來說,必須要有足夠的細心和耐心,因為編程一般來說是很枯燥的乏味的,而且程序會越來越復雜,它所用到的符號、標記很多,所以不能出點小錯誤的。還有,我們不能只是看程序,要學會把自己學的自己拿去實踐,自己去編一些程序,培養自己的動手能力,掌握一些編程技巧,熟練運用自己學到的理論知識,這樣在以后才能開發出屬于自己的東西。

如今,隨著科學技術的發展,計算機已成為了我們生活中必不可少的設備了,而掌握計算機知識和運用,又成了我們每一個人的目標了?,F在IT行業的飛速發展,無不應正了以前、現在、將來計算機行業都是科學發展的主導行業。而這些基本上都建立在程序上的,所以程序員對計算機行業來說,可想而知有多么的重要了,他們所付出的每一滴汗水都將推動這個行業的發展。

現在我就用JAVA語言編寫一個簡單的程序——Java聊天程序。將所學的基本知識用到其中去,這里包括了構造方法,創建圖形界面,引用類等等。這不僅能鍛煉我的實踐能力,同時也進一步復習和鞏固了我所學的理論知識。對以前沒有學好的還有督促和促進作用。而且,根據需要,還可以了解一些課外的知識。增加自己的知識面。

2.開發環境

在開發此聊天程序時,該項目所使用的軟件開發環境如下:

操作系統:Windows 7

開發工具:eclipse3.2及其VE插件

0

Eclipse簡介

Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發工具。

Eclipse是著名的跨平臺的自由集成開發環境(IDE)。最初主要用來Java語 言開發,但是目前亦有人通過插件使其作為其他計算機語言比如C++和Python的開發工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持 使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發商以Eclipse為框架開發自己的IDE。

Eclipse 最初由OTI和IBM兩家公司的IDE產品開發組創建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎,包括Platform、JDT 和PDE。目前由IBM牽頭,圍繞著Eclipse項目已經發展成為了一個龐大的Eclipse聯盟,有150多家軟件公司參與到Eclipse項目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個開發源碼項目,它其實是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開放源碼,任何人都可以免費得到,并可以在此基礎上開發各自的插件,因此越來越受人們關注。近期還有包括Oracle在內的許多 大公司也紛紛加入了該項目,并宣稱Eclipse將來能成為可進行任何語言開發的IDE集大成者,使用者只需下載各種語言的插件即可。

3.需求分析

3.1程序簡介

隨著網絡技術的發展,人們越來越多的依賴于網絡,為了方便人們的生活,網絡聊天自然成為了熱點,各種工具到處都是。此程序便是模仿其他聊天工具設計的,當然只是實現了比較少的功能,可以進行基本的聊天。

3.2 程序功能

該程序功能:該程序分為2個部分,一個是客戶端程序,一個是服務端程序,需要先開啟服務器,再開啟客戶端才能使用,客戶端程序提供了相互通信、清空聊天記錄的等功能,服務端則用于接受客戶端的請求,記錄客戶端的信息等。

4.系統設計 4.1概要設計

此聊天程序共有2個部分,客戶端和服務器??蛻舳酥邪?個Java文件,為主類client.java,;服務器端只有一個主類Server.java。

程序流程圖:

服務器程序結構

客戶端程序結構

4.2詳細設計

(1)服務器程序實現

本程序采用的是Socket通信來設計的,建立一個主類Server.java,其中主類中還包括服務器線程 然后在其構造方法加載程序所需的組件,構造方法如下:

public ClientThread(Socket socket){

try {

this.socket = socket;

reader = new BufferedReader(new InputStreamReader(socket

.getInputStream()));

writer = new PrintWriter(socket.getOutputStream());

// 接收客戶端的基本用戶信息

String inf = reader.readLine();

StringTokenizer st = new StringTokenizer(inf, “@”);

user = new User(st.nextToken(), st.nextToken());

// 反饋連接成功信息

writer.println(user.getName()+ user.getIp()+ “與服務器連接成功!”);

writer.flush();

// 反饋當前在線用戶信息

if(clients.size()> 0){

String temp = “";

for(int i = clients.size()1;i >= 0;i--){

clients.get(i).getWriter().println(”ADD@“ + user.getName()+ user.getIp());

clients.get(i).getWriter().flush();

}

} catch(IOException e){

e.printStackTrace();

}

}

@SuppressWarnings(”deprecation“)

public void run(){// 不斷接收客戶端的消息,進行處理。

String message = null;

while(true){

try {

message = reader.readLine();// 接收客戶端消息

if(message.equals(”CLOSE“))// 下線命令

{

contentArea.append(this.getUser().getName()

+ this.getUser().getIp()+ ”下線!rn“);

// 斷開連接釋放資源

reader.close();

writer.close();

socket.close();

// 向所有在線用戶發送該用戶的下線命令

for(int i = clients.size()1;i >= 0;i--){

if(clients.get(i).getUser()== user){

ClientThread temp = clients.get(i);

clients.remove(i);// 刪除此用戶的服務線程

temp.stop();// 停止這條服務線程

return;

}

}

} else {

dispatcherMessage(message);// 轉發消息

}

} catch(IOException e){

e.printStackTrace();

}

}

} 其運行截圖如下圖所示:

(2)、客戶端主程序

本程序使用了默認的卡片布局方式,對窗口的大小進行設置,讓聊天窗口能

夠居中顯示,以及登錄主窗口類。

實現窗口布局功能和類的調用功能的主要代碼如下:

* 連接服務器

*

* @param port

* @param hostIp

* @param name

*/ public boolean connectServer(int port, String hostIp, String name){

// 連接服務器

try {

socket = new Socket(hostIp, port);// 根據端口號和服務器ip建立連接

writer = new PrintWriter(socket.getOutputStream());

reader = new BufferedReader(new InputStreamReader(socket

.getInputStream()));

// 發送客戶端用戶基本信息(用戶名和ip地址)

sendMessage(name + ”@“ + socket.getLocalAddress().toString());

// 開啟接收消息的線程

messageThread = new MessageThread(reader, textArea);

messageThread.start();

isConnected = true;// 已經連接上了

return true;

} catch(Exception e){

textArea.append(”與端口號為:“ + port + ” IP地址為:“ + hostIp

+ ” 的服務器連接失敗!“ + ”rn“);

isConnected = false;// 未連接上

return false;

} }

(5)、聊天窗口程序設計

程序提供了發送文字和關閉聊天的的簡單功能。以下是實現程序的主要方

法:

* 發送消息

*

* @param message

*/ public void sendMessage(String message){

writer.println(message);

writer.flush();}

/**

* 客戶端主動關閉連接

*/ @SuppressWarnings(”deprecation“)public synchronized boolean closeConnection(){

try {

sendMessage(”CLOSE");// 發送斷開連接命令給服務器

messageThread.stop();// 停止接受消息線程

// 釋放資源

if(reader!= null){

reader.close();

}

if(writer!= null){

writer.close();

}

if(socket!= null){

socket.close();

}

isConnected = false;

return true;

} catch(IOException e1){

e1.printStackTrace();

isConnected = true;

return false;

} } 其運行截圖如下圖所示:

5.測試

程序在編碼過程中,出現了許多的問題,有的是因為程序的完善性不夠好而造成的,有的是因為技術不夠而無法解決。通過不停的調試,修改,多數已發現的問題都已完善,但依然存在少數的問題無法解決。例如,在用戶注冊這個功能中,當用戶的用戶名重復時,服務器會出現用戶名重復的異常,服務器就不會響應。

6.結論

通過這次程序的實訓,我知道了自己在許多地方的不足,雖然書上的程序基本能看懂,但是自己的編程實踐能力實在是欠缺,而且我知道了,Java語言最重要的不僅僅是學好語法,而Java中最重要的還是要理解它的面向對象編程的思想,理解它的面向對象的特征。因為學習任何一門語言最重要的就是理解它的思想,要做到知其然,并且知其所以然。要學會真正的編寫程序,而不僅僅是把語法背的滾瓜爛熟。還要經常寫代碼,做到一邊寫一邊理解,這樣才能真正的實現學習Java語言的目的。

這次實訓也告訴了我,光有書上的知識對我們來說是遠遠不夠的,如果我們要想讓自己在編程上有所突破的話,我們必須拓展自己的知識面,此次程序設計就給我增加了不少的知識,讓我在編程方面學到了許多編程所需要的東西,還有也鍛煉我的耐性,磨礪了我的意志,在錯誤面前反復修改但是從不氣餒。

所以,這次實訓讓我受益匪淺,不管是在知識方面還是做事方面,都交會了我許多。同時還鞏固了以前所學的知識,學到了不少書本上沒有的知識;學到了很多java編程知識,并學會了簡單的使用Eclipse來開發Java程序的一些使用技巧這次課程設計是對我本學期所學的知識的檢驗,由此我發現了不少的問題??梢哉f它給了我一次自我評估的機會。通過設計讓我知道了那些方面我還是有欠缺的,促使我花時間彌補。

臨近考試,時間太緊迫,致使程序實現的功能在方法上也許不是很完美,但我以后會多向老師請教,自己也要加強對Java 的學習。努力進一步提高自己的編程水平。

參考文獻

[1]耿祥義.Java課程設計:清華大學出版社第二版,2008年11月.[2]馬皓.Java語言程序設計:機械工業出版社,2007年3月 [3]孫衛琴.java 面向對象編程.電子工業出版社.2007 [4]劉海軍.Java程序設計.中國鐵道出版社,2006 [5]鄭阿奇,姜乃松,殷紅先.Java實用教程.電子工業出版社,2005 [6]張廣彬、王小寧、高靜, Java課程設計案例精編(第二版)清華大學出版社,2011年

第五篇:java聊天室課程設計報告

課程設計報告

2011 ~ 2012 學年 第 一 學期

學 號 20104053020 姓 名 胡勇昌 院 系 信息工程與技術 專 業 計算機工程系 課 程 名 稱 JAVA程序設計 課程設計名稱 局域網內的多功能聊天室

學 時 學 分 1 指 導 教 師 許爍娜

2011年 12 月 25 日

目錄

課程設計報告..........................................................................................................................................1 第1章 引言............................................................................................................................................3 1.1 背景...............................................................................................................................................3 1.2 相關技術.......................................................................................................................................3 1.2.1 JAVA概述...............................................................................................................................3 1.2.2 Socket......................................................................................................................................3 1.2.3 TCP 三次握手.....................................................................................................................4 1.3 術語...............................................................................................................................................4 第2章 需求分析與系統設計................................................................................................................5 2.1 需求分析.......................................................................................................................................5 2.2 系統設計.......................................................................................................................................6 2.2.1多用戶在線方案.....................................................................................................................6 2.2.2 系統功能................................................................................................................................6 第3章 系統實施....................................................................................................................................6 3.1聊天室窗口....................................................................................................................................6 3.2 建立客戶端窗口...........................................................................................................................8 3.3 內嵌“私聊”窗口.......................................................................................................................9 3.4客服端類繼承客戶端窗口類,并內嵌私聊程序......................................................................10 第4章 測試..........................................................................................................................................15 4.1 測試環境與使用方法.................................................................................................................15 4.2 功能測試.....................................................................................................................................15 4.2.1聊天室窗口...........................................................................................................................15 4.2.2 客戶端窗口..........................................................................................................................16

4.2.3 內嵌“私聊”窗口..........................................................................................................................16

參考文獻................................................................................................................................................16

第1章 引言

1.1 背景

網絡聊天室通常直稱聊天室,是一種人們可以在線交談的網絡論壇,在同一聊天室的人們通過廣播消息進行實時交談。聊天室可以建立在即時通訊軟件(如MSN Messenger、QQ)、P2P軟件、萬維網(如 Halapo,Meebo)等基礎上,萬維網方式更為普通和種類繁多,交談的手段不局限于文本,更包括語音、視頻。通常聊天室是按照房間或頻道為單位的,在同一房間或頻道的網人可以實時地廣播和閱讀公開消息。一般情況下,與其它網絡論壇、即時通訊不同的是,聊天室不保存聊天記錄。

1.2 相關技術 1.2.1 JAVA概述

Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設計語言和java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球云計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景。

1.2.2 Socket Socket是java中需一要編寫較低層次的網絡通信程序(例如Cljent/server應用程序)時提供的一種通訊機制。Socket是兩個程序進行雙向數據傳輸的網絡通信的端點,一般 由一個地址加上一個端口號來標一識。每個服務程序都在一個眾所周知的端口上提供服 務,而想使用服務的客戶端程序則需要連接該端口。通過Socket的數據是原始字節流信 息,通信雙方必須根據約定的協議對數據進行處理與解釋。

Socket通信機制提供了兩種通信.方式:有連接方式(TCP)和無連接方式(UDP數

據報)。有連接方式中,通信雙方在開始時必須進行一次連接過程,建立一條通信鏈路。通信鏈路提供了可靠的,全雙工的字節流服務。無連接力一式中,通信雙方不存在一個連 接過程,一次網絡I/O以一個數據報形式進行,而每次網絡I /O可以和不同.主機的不 同進程進行。無連接方式開銷小于有連接方式,但是所提供的數據傳輸服務不可靠,不 能保證數據報一定到達目的地”」·。

JAVA的有連接通信采用流式I/O模式。Socket是兩個進程間通信鏈的端點,每個 Sockct有兩個流:一個輸入流和一個輸出流。只要向Sockct的輸出流寫,一個進程就可 以通過網絡連接向其他進程發送數據;同樣,通過讀Sockt的輸入流,就可以讀取傳輸 來的數據。

有連接通信一般要經歷以下四個基本步驟ii

(1)創建Sockct,建立連接;

(2)打開連接到Sockct的輸入/輸出流;

(3)按照一定的一腳議對Socket進行讀/寫操作;

(4)關閉Socket。

第(3)步是程序員用來調用Socket和實現程序功能的關鍵步驟,其他三步在各種 程序中基本相同。

1.2.3 TCP 三次握手

TCP協議通過三個報文段完成連接的建立,這個過程稱為三次握手(three-way handshake),過程如下圖所示。

1.3 術語

暫無

第2章 需求分析與系統設計

2.1 需求分析

從技術發面來看,Java語言的優點一要表現在:簡.單、面向對象、多線程、安全性 等方面。1.簡單性

Java與C++語言灰常相近,但Java比C++簡單,它拋棄了C++中的一些不是絕對 必要的功能,如頭文件、頂處理文件、指針、結構、運算符重載、多重繼承以及自動強迫同型。Java實現了自動的垃圾收集,簡化了內存管理的一作。這使程序一設計更加簡便,同時減少了出錯的可能。2.面向對象

Java提供了簡單的類機制和動態的構架模型。對象中封裝了它的狀態變量和方法,很好地實現了模塊化和信息隱藏;而類則提供了一類對象的原型,通過繼承和重載機制,子類可以使用或重新定義父類或超類所提供的一方法,從而既實現了代碼的復用,又提供了一種動態的解決方案。

Java是一種完全面向對象的程序設計語一言,它除了數組、布爾和字符二個基本數據類型外的其它類都是對象,它不再支持全局變量。在Java中,如果不創建新類就無法創建程序,Java程序在運行時必須先創建一個類的實例,然后才能提交運行。

Java同樣支持繼承特性,Java的類可以從其它類中繼承行為,但Java只支持類的 單重繼承,即每個類只能從一個類中繼承。

Java支持界面,界面允許程序員定義方法但又不立即實現,一個類可以實現多個界面,利用界面可以得到多重繼承的許多優點而又沒有多重繼承的問題。3.多線程

多線程使應用程序可以同時進行不同的操作,處理不同的事件。在多線程機制中,不同的線程處理不同的任務,他們之間互不干涉,不會由于一處等待影響其他部分,這樣容.易實現網絡上的實時交互操作。

Java程序可以有多個執行線程,如可以讓一個線程進行復雜的計算,而讓另一個線 程與用戶進行交互,這樣用戶可以在不中斷計算線程的前提下與系統進行交互。多線程保證了較高的執行效率。4.安全性

Java不支持指針,一切對內存的訪問都必須通過對象的實例變量來實現,這樣就防止了程序員使用欺騙手段訪問對象的私有成員,同時也避免了指針操作中容易產生的錯誤。2.2 系統設計 2.2.1多用戶在線方案 2.2.2 系統功能

聊天室程序通常需要完成以下一些基本功能:

(I)登錄聊天室;

(2)啟動服務器;

(3)關閉服務器;

(4)用戶之間的聊天;

(5)退出聊天室。

本系統其體功能需求如下:

(1)聊天室管理員經登錄界面登錄到管理界而,即系統的服務器端。用戶經登錄界而 都進入聊天大廳。

(2)不論是管理員還是用戶都需一要在登錄界面輸入正確的用戶名和密碼后才可以登錄 到各自的界面中去。

(3)系統的兩個主要界面都是為方便管理員和用戶操作的。首先,管理員進入到管理 界而后可以方便的啟動/停止服務器,看到在線用戶的信息和聊人信息、。用戶進入到聊天 大廳中可以聊天,查看服務器狀態。

(4)一個用戶退出聊天室對其他用戶不能產生影響,而服務器斷開與客戶端的連接則所有的用戶都失去與服務器的連接。

(5)用戶的聊天信息錄入,重寫,發送,接收方便,快捷。

(6)服務器狀態,聊天信息和在線用戶人數及時刷新。

(7)聊天室系統運行穩定、安全性高、性能可靠。

第3章 系統實施

3.1聊天室窗口

建立服務端窗口類:窗口程序如下 import java.awt.Button;import java.awt.Color;import java.awt.FlowLayout;import java.awt.List;import java.awt.TextArea;

import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JScrollPane;import javax.swing.JTextField;

public class chatroomW { JFrame f=new JFrame(“局域網聊天室”);JLabel label1=new JLabel(“端口”);JLabel label2=new JLabel(“發送”);Button button1=new Button(“啟動服務”);Button button2=new Button(“發送”);Button button3=new Button(“刷新用戶列表”);JTextField text1=new JTextField(5);JTextField text2=new JTextField(25);TextArea area1=new TextArea(26,84);List userList=new List(27);JScrollPane scro1,scro2;public chatroomW(){

chat();} public void chat(){

area1.setBackground(new Color(204,255,255));

area1.setForeground(Color.black);

userList.setBackground(Color.gray);

userList.setForeground(Color.white);

f.setLayout(new FlowLayout());f.add(area1);f.add(userList);f.add(label1);f.add(text1);f.add(button1);f.add(text2);f.add(button2);f.add(button3);

f.setBounds(300,200,750,485);

f.setResizable(false);

f.setVisible(true);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

area1.setEditable(false);text1.setText(“10000”);

myEvent();

} public static void main(String args[]){

new chatroomW();} public void myEvent(){} }

3.2 建立客戶端窗口

import java.awt.Color;import java.awt.FlowLayout;import java.awt.TextArea;

import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JScrollPane;import javax.swing.JTextField;

public class ClientW {

JFrame f=new JFrame(“聊天室”);JScrollPane js;TextArea area=new TextArea(19,67);JTextField text1=new JTextField(12);JTextField text2=new JTextField(5);JTextField text3=new JTextField(5);JTextField text4=new JTextField(20);JButton button1=new JButton(“連接”);JButton button2=new JButton(“發送”);JButton button3=new JButton(“私聊”);JLabel label1=new JLabel(“服務器地址”);JLabel label2=new JLabel(“服務器端口”);JLabel label3=new JLabel(“昵稱”);public ClientW(){ } public void chat(){

area.setBackground(new Color(204,255,255));area.setForeground(Color.black);f.setLayout(new FlowLayout());f.setBounds(300,200,500,410);f.add(label1);f.add(text1);f.add(label2);chat();//

}

} f.add(text2);f.add(button1);f.add(area);f.add(label3);f.add(text3);f.add(text4);f.add(button2);f.add(button3);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setResizable(false);area.setEditable(false);text2.setText(“10000”);text4.setText(null);myEvent();public void myEvent(){} public static void main(String args[]){ } new ClientW();

3.3 內嵌“私聊”窗口

class netchat{ JFrame f=new JFrame(“私聊”);JLabel label1,label2,label3;Button button1,button2;JTextField text1,text2,text3,text4;TextArea textarea;

f.setLayout(new FlowLayout());f.setBounds(300,200,400,310);//設置窗口大小和位置; label1=new JLabel(“對方主機”);label2=new JLabel(“本地端口”);label3=new JLabel(“對方端口”);button1=new Button(“連接”);button2=new Button(“發送”);text1=new JTextField(7);text2=new JTextField(3);text3=new JTextField(3);public netchat(){ f.setResizable(false);//讓窗口大小固定;

// 閉;

} text4=new JTextField(20);textarea=new TextArea(13,53);textarea.setEditable(false);textarea.setBackground(new Color(204,250,255));f.add(label1);f.add(text1);f.add(label2);f.add(text2);f.add(label3);f.add(text3);f.add(button1);f.add(textarea);f.add(text4);f.add(button2);f.setVisible(true);f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);//關閉窗口程序同時關myEvent();

3.4客服端類繼承客戶端窗口類,并內嵌私聊程序

import java.awt.Button;import java.awt.Color;import java.awt.FlowLayout;import java.awt.TextArea;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.Socket;

import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;

public class Client extends ClientW{ Socket s=null;public Client(){} public void myEvent(){

button1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

try{

s=new Socket(text1.getText().toString(),Integer.parseInt(text2.getText()));

new Thread(new LinkC()).start();

area.append(“[系統消息]:連接成功n”);

}catch(Exception ex){area.append(“[系統消息]:連接失敗n”);}

}

});

button2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

new SentC();

}

});

button3.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

new netchat();

}

});} public static void main(String args[]){

new Client();}

class LinkC implements Runnable{

public void run(){

try{

BufferedReader bufIn=

new BufferedReader(new InputStreamReader(s.getInputStream()));

String msg=null;

PrintStream ps=new PrintStream(s.getOutputStream());

ps.println(text3.getText());

while(true){

try{

while((msg=bufIn.readLine())!=null){

area.append(msg+“n”);

}

}catch(Exception ex){break;}

}

}catch(Exception e){}

}

}

class SentC {

public SentC(){

try{

PrintStream ps=new PrintStream(s.getOutputStream());

if(!text4.getText().equals(“")){

ps.println(text4.getText());//

area.append(text4.getText());//服務器自動會返回

text4.setText(”“);

}

}catch(Exception e){}

}

} //私聊類

class netchat{

JFrame f=new JFrame(”私聊“);

JLabel label1,label2,label3;

Button button1,button2;

JTextField text1,text2,text3,text4;

TextArea textarea;

public netchat(){

f.setLayout(new FlowLayout());

f.setBounds(300,200,400,310);

//設置窗口大小和位置;

f.setResizable(false);

//讓窗口大小固定;

label1=new JLabel(”對方主機“);

label2=new JLabel(”本地端口“);

label3=new JLabel(”對方端口“);

button1=new Button(”連接“);

button2=new Button(”發送“);

text1=new JTextField(7);

text2=new JTextField(3);

text3=new JTextField(3);

text4=new JTextField(20);

textarea=new TextArea(13,53);

textarea.setEditable(false);

textarea.setBackground(new Color(204,250,255));

text2.setText(”10000“);

text3.setText(”10000“);

f.add(label1);

f.add(text1);

f.add(label2);

f.add(text2);

f.add(label3);

f.add(text3);

f.add(button1);

f.add(textarea);

f.add(text4);

f.add(button2);

f.setVisible(true);//

f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);//關閉窗口程序同時關閉;

myEvent();

}

public void myEvent(){

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e){

try{

DatagramSocket ds=new DatagramSocket();

byte[] buf=”對方已下線“.getBytes();

DatagramPacket dp=

new DatagramPacket(buf,buf.length,InetAddress.getByName(text1.getText()),Integer.parseInt(text3.getText()));

ds.send(dp);

ds.close();

}catch(Exception ex){}

}

});

button2.addActionListener(new ActionListener()//事件源是button2

{

public void actionPerformed(ActionEvent e)

{

if(!text4.getText().equals(”“))

new Thread(new Send()).start();

}

});

button1.addActionListener(new ActionListener()//事件源是button1

{

public void actionPerformed(ActionEvent e)

{

new Thread(new Rece()).start();

}

});

}

class Send implements Runnable{

public void run(){ try{UdpSend();}catch(Exception e){textarea.append(”[系統消息]:發送失敗n“);}}

public void UdpSend()throws Exception{

DatagramSocket ds=new DatagramSocket();

byte[] buf=text4.getText().getBytes();

DatagramPacket dp=

new DatagramPacket(buf,buf.length,InetAddress.getByName(text1.getText()),Integer.parseInt(text3.getText()));

textarea.append(”[我]: “+text4.getText()+”n“);

text4.setText(”“);

ds.send(dp);

ds.close();

}

}

class Rece implements Runnable{

int index=0;

public void run(){

try{

UdpRece();

}catch(Exception e){

textarea.append(”[系統消息]:連接失敗n“);

}

}

public void UdpRece()throws Exception{

while(true){

DatagramSocket ds=new DatagramSocket(Integer.parseInt(text2.getText()));

if(index==0){textarea.append(”[系統消息]:連接成功n“);}

byte[] buf=new byte[1024];

DatagramPacket dp=new DatagramPacket(buf,buf.length);

ds.receive(dp);

String data=new String(dp.getData(),0,dp.getLength());

textarea.append(dp.getAddress()+” “+data+”n");

index++;

ds.close();

}

}

}

} } 第4章 測試

4.1 測試環境與使用方法

測試環境:測試環境:電腦安裝Java JDK 服務器端使用方法:打開服務啟動,點擊“啟動服務”,提示“啟動服務成功”表示正常啟動。否則,先關閉服務端,再重新打開,啟動服務??蛻舳耸褂梅椒ǎ捍蜷_客戶端,輸入“服務器地址”,點擊“連接”,如成功連接系統提示“成功連接”,并收到服務端返回的“歡迎”信息,否則關閉并重新啟動。

私聊功能使用方法:點擊面板上的“私聊”按鈕,輸入對方的IP地址,點擊連接,如連接成功系統會提示“連接成功”。當對方斷開時會收到“對方已下線”提示。如果要同時跟多人私聊,則要改變本地端口值,并告知對方。

4.2 功能測試 4.2.1聊天室窗口

4.2.2 客戶端窗口

4.2.3 內嵌“私聊”窗口

參考文獻

用JAVA程序實現參考文獻的錄入與生成 劉瑋瑋 2009 《福建電腦》

基于Java移動Agent系統的安全參考模型 周屹 2007 《黑龍江工程學院學報》

嵌入式Java虛擬機的性能優化技術 李允 2004 《計算機工程》

下載java聊天室設計總結word格式文檔
下載java聊天室設計總結.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    JAVA課程設計之簡單聊天室

    課程設計報告 課程名稱 課程代碼 題 目 年級/專業/班 學生姓名 學 號 指導老師 開題時間 完成時間 Java程序設計 簡單聊天室 孟青 09308910203 I : : : : : : : : : 目 錄......

    基于linux網絡聊天室的設計

    《Linux操作系統》課程設計報告 學 院 工商學院 專 業 計算機科學與技術 班 級 計1341 學生姓名:王慢,韓霞,孫潔茹,李強,蔣濤課程設計任務書 題 目基于linux網絡聊天室的設計 實......

    JAVA總結專題

    在這忙忙碌碌的這段時間里,經過老師的輔導,迅速的將一點沒有學的JAVA基礎搞定了!有了基礎學習還是好,萬事開頭難這句話說的太對了,學計算機語言我覺得記憶好的方法就是多打代碼,課......

    Java格式總結

    Java定義格式: 1、 數據類型的強制性轉換語法:(欲轉換的數據類型)變量名稱; 2、 if語句的格式: if(條件判斷) 語句; 3、 if語句的格式: if(條件判斷) { 語句1;語句2;… 語句3; } 4、 if…......

    Java總結

    Java實驗 1. 調試HelloWorld程序 2. this,super,get ,set,把課本90頁程序4.7中的name改成私有變量 3. 繼承,重寫,父類引用指向子類對象 4. 驗證數組Arrays類和Collection類 5.......

    java總結

    調用父類構造方法 ? 在子類的構造方法中可使用super(argument_list)語句調用父類的構造方法 ? 如果子類的構造方法中沒有顯示地調用父類構造方法,也沒有使用this關鍵字調用重載......

    會計協會2011財會聊天室活動總結

    淮海工學院商學院 財會聊天室 活 動 總 結 會計協會 淮海工學院商學院團委 商學院學生社團聯合會分會 2011年9月23日 一.活動目的:為了讓2011屆財會專業的新生更好地了解大學......

    Java個人總結參考

    1、Java中取消指針運算防止了內存泄露的可能性。Java中的引用其實就是指針。JAVA語言不支持C++友元方法或友類。 2、編寫完java源代碼后,首先將其編譯為一種中間狀態字的字節......

主站蜘蛛池模板: 人妻少妇伦在线无码| 四虎影视88aa久久人妻| 中文字幕在线精品乱码| 六月婷婷国产精品综合| 亚洲人成人一区二区三区| 2019午夜三级网站理论| 色偷偷88888欧美精品久久久| 亚洲色精品aⅴ一区区三区| 新普新京亚洲欧美日韩国产| 国产精品久久久久久妇女| 小箩莉末发育娇小性色xxxx| 黑人大战日本人妻嗷嗷叫不卡视频| 亚洲精品无码久久千人斩| 精品人妻少妇一区二区三区在线| 人妻少妇精品久久久久久| 国产午夜福利短视频| 国产成人精品123区免费视频| 人人妻人人澡人人爽秒播| 亚洲成a人片在线观看www| 无码中文字幕| 久久久精品人妻无码专区不卡| 国产亚洲综合欧美视频| 国产精品福利网红主播| 亚洲国产福利成人一区二区| 日本欧美视频在线观看| 亚洲 高清 成人 动漫| 国产av国内精品jk制服| 伊人久久大香线蕉av五月天宝贝| 亚洲第一女人av| 亚洲熟伦熟女新五十路熟妇| 国产亚洲精品久久久久的角色| 自拍偷自拍亚洲精品播放| 中文字幕色婷婷在线视频| 国产亚洲精品aaaa片小说| 亚洲国产日韩a在线亚洲| 久久精品囯产精品亚洲| 久久婷婷综合色丁香五月| 精品国产乱码久久久久久婷婷| 精品无码av| 国产精品 视频一区 二区三区| 中文在线а天堂中文在线新版|