敏感詞匯分析JAVA課程設計報告書_第1頁
敏感詞匯分析JAVA課程設計報告書_第2頁
敏感詞匯分析JAVA課程設計報告書_第3頁
敏感詞匯分析JAVA課程設計報告書_第4頁
敏感詞匯分析JAVA課程設計報告書_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.../軟件學院課程設計報告書課程名稱面向?qū)ο笳n程設計設計題目敏感詞匯分析專業(yè)班級學號姓名指導教師2013年6月目錄TOC\o"1-3"\h\u304111設計時間 1236382設計目的 1268283設計任務 1129523.1名詞解釋 1216014.1概要設計 2193084.1.1程序模塊 38404.2自定義類說明 3118244.3程序模塊代碼 4311524.3.1Menu界面程序模塊 5101044.3.2敏感詞分析程序模塊 6200914.4程序運行環(huán)境 7258044.5程序運行與調(diào)試 7272575總結(jié)與展望 1032645參考文獻 113675成績評定 111設計時間2013-6-10至2013-6-122設計目的本次課程設計的設計目的是使同學們掌握面向?qū)ο蟪绦虻脑O計思想和Java編程的技巧;具備根據(jù)要求對程序進行分析、設計、實現(xiàn)與調(diào)試,加強知識實踐意識、提高動手能力和創(chuàng)新能力。3設計任務敏感詞匯分析程序要求如下:〔1使用圖形用戶界面實現(xiàn)?!?任意選擇一個文本文件,分析該文件,如果存在敏感詞匯,報告每個詞出現(xiàn)的次數(shù)?!?敏感詞匯保存在sentive.txt文件中,每個詞占一行,至少設置10個敏感詞匯?!?系統(tǒng)使用的GUI組件不得少于5種,越全面越好,但要合適〔和諧界面。3.1名詞解釋敏感詞匯:敏感詞匯就是一些國外反動分子常用的詞組、國家限制使用的名詞、特定詞匯??偨Y(jié)發(fā)現(xiàn)有以下幾個方面:敏感詞范圍:敏感詞包括政治敏感詞,機密信息敏感詞,罵人的原話、土話敏感詞,匪話、黑話敏感詞等等。各個論壇或者各種游戲不同,敏感詞也不同,比如在這個論壇里的某個詞某句話是敏感詞,在別的地方不是,比如在游戲里外掛、中獎、管理員、信息等等都是敏感詞,打出來的全部顯示***,但是這些在普通QQ聊天或者郵件里都是正常詞匯。常見的敏感詞匯:·違反國家現(xiàn)行法律法規(guī)。·破壞社會公共安全?!す膭用褡宄鸷?、民族歧視,破壞民族團結(jié)?!ば麚P邪教和封建迷信?!ば麚P色情、淫穢、暴力、教唆犯罪。·攻擊政府、政府官員?!ず蟹N族、膚色、性別、性取向、宗教、民族、地域、殘疾、社會經(jīng)濟狀況等歧視內(nèi)容的問題和回復?!ず形耆杌蛘u謗他人,對他人構(gòu)成傷害或侵害他人合法權(quán)益的內(nèi)容?!ず蟹?、行政法規(guī)禁止的其他內(nèi)容。·含有破壞社區(qū)公共秩序的內(nèi)容。·灌水或張貼垃圾信息。·宣傳無關內(nèi)容,發(fā)表含有廣告性質(zhì)的問題。·含有影響網(wǎng)友正常瀏覽的內(nèi)容或格式。·與欄目主題無關的內(nèi)容。·違反網(wǎng)站的其它具體規(guī)定的情況。·破壞社會公共安全?!す膭用褡宄鸷蕖⒚褡迤缫?破壞民族團結(jié)。用戶界面:指對軟件的人機交互、操作邏輯、界面美觀的整體設計。好的UI設計不僅是讓軟件變得有個性有品味,還要讓軟件的操作變得舒適、簡單、自由、充分體現(xiàn)軟件的定位和特點。電子計算機系統(tǒng)中實現(xiàn)用戶與計算機信息交換的軟件、硬件部分。軟件部分包括用戶與計算機信息交換的約定、操作命令等處理軟件,硬件部分包括輸入裝置和輸出裝置。目前常用的是圖形用戶界面,它采用多窗口系統(tǒng),顯示直接形象,操作簡便。也叫人機界面。簡稱界面。4設計內(nèi)容4.1概要設計敏感詞匯程序是:圖形界面、查詢和計數(shù)等技術的綜合應用。圖形界面的實現(xiàn):考慮到簡單、實用、高效等特點,大部分選擇了swing來完成實現(xiàn),文本編輯區(qū)就選用了TaxtArea作為主要的部件。文件操作的實現(xiàn):利用了字符文件流FileReader和FileWriter類來實現(xiàn)。由于Java的特性,可能用任何一個編輯器來編輯,在設計類的時候,考慮到簡單明了,就用了三個類,一個主類、一個類設計構(gòu)造函數(shù)實現(xiàn)監(jiān)聽接口作為程序的整體框架,一個類設計構(gòu)造函數(shù)實現(xiàn)查找替換功能。所有的對象和方法都是在默認屬性類中創(chuàng)建和實現(xiàn)的,以及為各組件注冊事件監(jiān)聽程序也是在默認屬性類中實現(xiàn)的。主類完成對象的實例化及顯示。這們設計的優(yōu)點是:條理清晰,容易理解,容易修改。這樣設計的缺點是:不利于共享類中的方法。4.1.1程序模塊該程序分為3個功能模塊:〔1Frame界面程序模塊〔2Menu界面程序模塊〔3敏感詞分析程序模塊圖4-1三個功能模塊流程圖4.2自定義類說明〔1Mingan1類:針對Frame程序界面設計,類內(nèi)包含多種GUI組件的創(chuàng)建和應用。該類用來調(diào)用敏感詞分析的Menu界面。表4-1Mingan1類基本說明Frame創(chuàng)建Frame窗口,并進行基本設置GridLayout設置為Gridlayout〔的布局管理器Panel按照布局管理器創(chuàng)建3個Panel,并進行添加和設置Button創(chuàng)建Button,并設置事件監(jiān)聽與TestJMenu類相連Label在類中用來添加相關的文字說明TestJMenu類:針對Menu程序界面設計,類內(nèi)包含多種GUI組件的創(chuàng)建和應用。通過對文本域和菜單欄的設計,實現(xiàn)原文本文件的調(diào)用和顯示,分析敏感詞程序的調(diào)用,以及敏感詞出現(xiàn)次數(shù)的顯示等功能。表4-2TestJMenu類基本說明JTextArea創(chuàng)建文本域TestJMenu創(chuàng)建菜單,并進行基本設置,進行JmenuBar菜單欄的實現(xiàn)JMenu創(chuàng)建3個基本功能菜單,分別為:jmFile、jmFenxi和jmHelpJMenuItem分別設置各菜單的彈出項。jmFile中設置jmiNew、jmiOpen,jmFenxi中設置jmiQue、jmiQuaddActionListener<>分別為jmiOpen和jmiQue彈出項設置事件監(jiān)聽,實現(xiàn)調(diào)用功能。jmiOpen實現(xiàn)文件的導入,jmiQue實現(xiàn)與Fenx類的連接〔3Fenx類:針對敏感詞分析模塊設計,包含Matcher、Pattern、StringBuffer、find<>、tirm<>等關鍵字和方法的創(chuàng)建和使用。主要實現(xiàn)了:對敏感詞的匹配分析、敏感詞自動修改及敏感詞出現(xiàn)次數(shù)分析等功能。表4-3Fenx類基本說明FileReader讀入敏感詞sentive.txt文件BufferedReader將敏感詞讀入緩沖區(qū)readLine<>從緩沖區(qū)讀取一行數(shù)據(jù)trim<>去掉空格Pattern將給定的正則表達式編譯到具有給定標志的模式中find<>嘗試查找與該模式匹配的輸入序列的下一個子序列appendReplacement<>替換appendTail<>實現(xiàn)終端追加和替換步驟4.3程序模塊代碼圖4-2功能模塊說明圖4.3.1Menu界面程序模塊程序代碼:JTextAreajta=newJTextArea<>; ZMenu<> {super<"敏感詞匯分析">; setVisible<true>;//窗口的設置 setBounds<50,50,500,500>; setBackground<Color.pink>; Winfw=newWin<>;//關閉窗口監(jiān)聽 addWindowListener<fw>; JMenuBarmb=newJMenuBar<>; setJMenuBar<mb>; JMenum1=newJMenu<"文件">; JMenuItemm11=newJMenuItem<"新建">; JMenuItemm12=newJMenuItem<"打開">; JMenuItemm13=newJMenuItem<"退出">; m12.addActionListener<this>;//打開監(jiān)聽 m13.addActionListener<newMonitor<>>;//退出監(jiān)聽 mb.add<m1>; m1.add<m11>; m1.add<m12>; m1.add<m13>; JMenum2=newJMenu<"編輯">; JMenuItemm22=newJMenuItem<"查詢敏感詞">; //m22.addActionListener<this>;//打開敏感詞文檔 JMenuItemm21=newJMenuItem<"修改敏感詞">; //m21.addActionListener<newmodify<>>;//修改監(jiān)聽 m2.add<m22>; m2.add<m21>; mb.add<m2>; JMenum3=newJMenu<"分析">; JMenuItemm31=newJMenuItem<"分析敏感詞">; m3.add<m31>; m31.addActionListener<newfenxi<>>; mb.add<m3>; JMenum4=newJMenu<"幫助">; mb.add<m4>;this.getContentPane<>.add<jta>;this.setVisible<true>; }publicvoidactionPerformed<ActionEvente>//打開 { JFileChooserjc=newJFileChooser<>; jc.showOpenDialog<this>; //jta.append<null>; Stringa="添加所要分析的文本";try { Filefile=jc.getSelectedFile<>; FileInputStreamfis=newFileInputStream<file>;byte[]buf=newbyte[10*1024];intlen=fis.read<buf>; //jta.replaceRange<a,buf,len>; jta.append<newString<buf,0,len>>; }catch<Exceptionex> { ex.printStackTrace<>; } }}4.3.2敏感詞分析程序模塊程序代碼:classfenxiimplementsActionListener//分析{intindexstring<Strings1,Strings2> {intnum=0;intj=0;//intz=0;//出現(xiàn)位置while<j<s2.length<>> {z=s2.indexOf<s1,j>;if<z==-1>break;if<z<s2.length<>> { num++; j=z+1; } }returnnum; }4.4程序運行環(huán)境1.操作系統(tǒng):Windows72.開發(fā)語言:JAVA3.開發(fā)工具:MyEclipse4.5程序運行與調(diào)試〔1將敏感詞匯保存到sensive.txt中〔2選擇含有敏感詞的文本文件〔3分析該文件并顯示結(jié)果5總結(jié)與展望通過這次的課程設計,收獲真的很大。首先,通過本次課程設計對書本上的面向?qū)ο蠓治雠c設計的知識由理論的死記硬背漸漸地應用于實際。使得理論與實際相結(jié)合,不僅加深了對書本上知識的理解更加深了對Java編程的動手與操作的興趣,為以后的學習和工作打下了堅實的基礎。通過查詢資料、詢問老師和與同學討論與合作,初步的認識了Java開發(fā)的流程。對于我們工科的學生特別是學習計算機的學生來講動手能力、技術和經(jīng)驗是今后走向社會的必備要素。而在這次的課程設計當中,鍛煉了動手能力,熟練了Java編程的技術,積累了開發(fā)程序的經(jīng)驗。在以后的學習中要再接再厲。在課程設計的過程當中,多次出現(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

提交評論