Java課程設(shè)計(jì)(加密與解密)_第1頁
Java課程設(shè)計(jì)(加密與解密)_第2頁
Java課程設(shè)計(jì)(加密與解密)_第3頁
Java課程設(shè)計(jì)(加密與解密)_第4頁
Java課程設(shè)計(jì)(加密與解密)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、PAGE 課程設(shè)計(jì)報(bào)告(本科)課程:JAVA課程設(shè)計(jì)學(xué)號(hào):1310211姓名:衛(wèi)曉燕班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)教師:凡時(shí)間:20140601計(jì)算機(jī)科學(xué)與技術(shù)系PAGE 9設(shè)計(jì)名稱:名稱:文本文檔的加密與解密設(shè)計(jì)內(nèi)容、目的與要求:設(shè)計(jì)內(nèi)容:圖形化界面編程,編寫一個(gè)加密與解密程序目的與要求:(1)采用圖形用戶界面;(2)給定任意一個(gè)文本文件,進(jìn)行加密,生成另一個(gè)文件;(3)對(duì)加密后的文件還原計(jì)劃與進(jìn)度安排:計(jì)劃與進(jìn)度:一:需求分析二:總體設(shè)計(jì)2.1包的描述2.2類的描述三:頁面設(shè)計(jì)與分析四:設(shè)計(jì)體會(huì)與建議設(shè)計(jì)過程、步驟(可加頁):一需求分析 (1)給定任意一個(gè)文本文件,進(jìn)行加密,生成另一個(gè)文件。 (2

2、)對(duì)加密后的文件還原。 二總體設(shè)計(jì) 2.1 包的描述 導(dǎo)入了java.awt; java.awt.event; java.io; javax.swing等包。 2.2 類的描述 Myframe類;E1類。其中Myframe類繼承Frame類;可以擴(kuò)展Frame的功能并且可以實(shí)例化的多種功能,這個(gè)類也實(shí)現(xiàn)了ActionListener這個(gè)接口,它是Java中關(guān)于事件處理的一個(gè)接口,ActionListener用于接收操作事件的偵聽器接口。對(duì)處理操作事件感興趣的類可以實(shí)現(xiàn)此接口,而使用該類創(chuàng)建的對(duì)象可使用組件的 addActionListener 方法向該組件注冊(cè)。在發(fā)生操作事件時(shí),調(diào)用該對(duì)象的

3、actionPerformed 方法。結(jié)果與分析(可以加頁): 三:頁面設(shè)計(jì)與分析 圖3.1 顯示頁面代碼實(shí)現(xiàn): addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); 圖3.2 選擇所要加密的文件代碼實(shí)現(xiàn):public void actionPerformed(ActionEvent e) /查找讀入文件if(e.getSource()=itemOpen)filedialog_load.setVisible(true);texta.setText(nul

4、l);String s;if(filedialog_load.getFile()!=null)tryFile file=new File(filedialog_load.getDirectory(),filedialog_load.getFile();FileReader file_reader=new FileReader(file);/讀取字符流BufferedReader in=new BufferedReader(file_reader);while(s=in.readLine()!=null)texta.append(s+n);in.close();file_reader.close

5、();catch (IOException e1) 圖3.3 加密后的文件代碼實(shí)現(xiàn): if(e.getSource()=button1)char a=texta.getText().toCharArray(); /把texta中獲得的文本,進(jìn)行初始化,與原字符串長度相等,并將該字符串對(duì)象的全部字符復(fù)制到該數(shù)組a中*/texta.setText(null);int n;char secret= ;for(int i=0;ia.length;i+)char c=(char)(secretai);/進(jìn)行異或運(yùn)算texta.append(+c); 圖3.4 解密后的文件代碼實(shí)現(xiàn): if(e.getSo

6、urce()=button2)char a=texta.getText().toCharArray();texta.setText(null);int n;char secret= ;for(int i=0;ia.length;i+)char c=(char)(secretai);/再次異或運(yùn)算,即還原texta.append(+c);總體程序代碼見附錄部分設(shè)計(jì)體會(huì)與建議: 設(shè)計(jì)體會(huì): 在本次課程設(shè)計(jì)的過程中,我學(xué)到了很多,不僅對(duì)所學(xué)的知識(shí)有一個(gè)新的認(rèn)識(shí),認(rèn)識(shí)到要做一個(gè)課程設(shè)計(jì)不僅需要我們有一種很嚴(yán)謹(jǐn)?shù)膽B(tài)度和扎實(shí)的知識(shí)作為基礎(chǔ)和后盾的,還要將理論知識(shí)與實(shí)際課題相結(jié)合起來,不僅培養(yǎng)了獨(dú)立思考、動(dòng)

7、手操作的能力,在各種其它能力上也都有了提高。通過此次課程設(shè)計(jì),將本學(xué)期所學(xué)的JAVA知識(shí)得到鞏固和應(yīng)用,在設(shè)計(jì)的過程中我遇到了很到問題,不過通過上網(wǎng)查找資料和在我們同組成員的努力配合嘗試下,還是很好的完成了。這次課程設(shè)計(jì)還讓我懂得了寫程序不能閉門造車,要努力拓寬知識(shí)面,開闊視野,拓展思維。它還讓我學(xué)會(huì)了在網(wǎng)上查閱那些無限的資源。在以后的生活中不管做什么事都需要有一顆堅(jiān)持不懈的心,在遇到困難時(shí)要有毫不氣餒迎難而上的勇氣,要腳踏實(shí)地一步一步的做下去,不能急于求成。附錄:一:程序代碼二:參考文獻(xiàn)程序代碼:package jm;import java.awt.*;import java.awt.eve

8、nt.*;import java.io.*;import javax.swing.*;class Myframe extends Frame implements ActionListener FileDialog filedialog_save,filedialog_load;Button button1,button2;Label label;MenuBar bar;Menu menu;MenuItem itemOpen,itemSave;TextArea texta;Myframe(String s) /創(chuàng)建對(duì)話框super(s); texta= new TextArea(38,160)

9、;button1= new Button(加密);button2= new Button(解密);menu=new Menu(文件);itemOpen=new MenuItem(打開);itemSave=new MenuItem(保存);label=new Label(文件瀏覽窗口);itemOpen.addActionListener(this);itemSave.addActionListener(this);button1.addActionListener(this);button2.addActionListener(this);filedialog_save=new FileDia

10、log(this,保存文件對(duì)話框,FileDialog.SAVE);filedialog_load=new FileDialog(this,打開文件對(duì)話框,FileDialog.LOAD);filedialog_save.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)filedialog_save.setVisible(false););filedialog_load.addWindowListener(new WindowAdapter()public void windowClosi

11、ng(WindowEvent e)filedialog_load.setVisible(false););Box box1=Box.createHorizontalBox(); /創(chuàng)建一個(gè)從左到右顯示其組件的 box1;Box box2=Box.createVerticalBox(); /創(chuàng)建一個(gè)從上到下顯示其組件的 box2; Box box3=Box.createVerticalBox();Box boxbase=Box.createVerticalBox();Panel panel1=new Panel();Panel panel2=new Panel();setMenuBar(bar=

12、new MenuBar();bar.add(menu);menu.add(itemOpen); menu.add(itemSave);panel1.add(button1);panel1.add(button2);box1.add(panel1);box2.add(label);panel2.add(texta);box3.add(panel2);boxbase.add(box1);boxbase.add(box2);boxbase.add(box3);add(boxbase);setLayout(new FlowLayout();setBounds(100,0,1200,750);setVi

13、sible(true); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); /“關(guān)閉”窗口事件;public void actionPerformed(ActionEvent e) /查找讀入文件if(e.getSource()=itemOpen)filedialog_load.setVisible(true);texta.setText(null);String s;if(filedialog_load.getFile()!=null)tryFil

14、e file=new File(filedialog_load.getDirectory(),filedialog_load.getFile();FileReader file_reader=new FileReader(file);/讀取字符流BufferedReader in=new BufferedReader(file_reader);while(s=in.readLine()!=null)texta.append(s+n);in.close();file_reader.close();catch (IOException e1)if(e.getSource()=itemSave) /

15、查找寫入的文件filedialog_save.setVisible(true);if(filedialog_save.getFile()!=null)tryFile file=new File(filedialog_save.getDirectory(),filedialog_save.getFile();FileWriter tofile=new FileWriter(file); /讀取字符流BufferedWriter out=new BufferedWriter(tofile);out.write(texta.getText(),0,(texta.getText().length();

16、out.close();tofile.close();catch (IOException e2)if(e.getSource()=button1)char a=texta.getText().toCharArray(); /把texta中獲得的文本,進(jìn)行初始化,與原字符串長度相等,并將該字符串對(duì)象的全部字符復(fù)制到該數(shù)組a中texta.setText(null);int n;char secret= ;for(int i=0;ia.length;i+)char c=(char)(secretai); /進(jìn)行異或運(yùn)算texta.append(+c);if(e.getSource()=button2)char a=texta.getText().toCharArray();texta.setText(null);int n;char secret= ;for(int i=0;ia.l

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論