Java课程设计(加密与解密)_第1页
Java课程设计(加密与解密)_第2页
Java课程设计(加密与解密)_第3页
Java课程设计(加密与解密)_第4页
Java课程设计(加密与解密)_第5页
已阅读5页,还剩6页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE 课程设计报告(本科)课程:JAVA课程设计学号:1310211姓名:卫晓燕班级:计算机科学与技术教师:凡时间:20140601计算机科学与技术系PAGE 9设计名称:名称:文本文档的加密与解密设计内容、目的与要求:设计内容:图形化界面编程,编写一个加密与解密程序目的与要求:(1)采用图形用户界面;(2)给定任意一个文本文件,进行加密,生成另一个文件;(3)对加密后的文件还原计划与进度安排:计划与进度:一:需求分析二:总体设计2.1包的描述2.2类的描述三:页面设计与分析四:设计体会与建议设计过程、步骤(可加页):一需求分析 (1)给定任意一个文本文件,进行加密,生成另一个文件。 (2

2、)对加密后的文件还原。 二总体设计 2.1 包的描述 导入了java.awt; java.awt.event; java.io; javax.swing等包。 2.2 类的描述 Myframe类;E1类。其中Myframe类继承Frame类;可以扩展Frame的功能并且可以实例化的多种功能,这个类也实现了ActionListener这个接口,它是Java中关于事件处理的一个接口,ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的

3、actionPerformed 方法。结果与分析(可以加页): 三:页面设计与分析 图3.1 显示页面代码实现: addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); 图3.2 选择所要加密的文件代码实现: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 加密后的文件代码实现: if(e.getSource()=button1)char a=texta.getText().toCharArray(); /把texta中获得的文本,进行初始化,与原字符串长度相等,并将该字符串对象的全部字符复制到该数组a中*/texta.setText(null);int n;char secret= ;for(int i=0;ia.length;i+)char c=(char)(secretai);/进行异或运算texta.append(+c); 图3.4 解密后的文件代码实现: 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);/再次异或运算,即还原texta.append(+c);总体程序代码见附录部分设计体会与建议: 设计体会: 在本次课程设计的过程中,我学到了很多,不仅对所学的知识有一个新的认识,认识到要做一个课程设计不仅需要我们有一种很严谨的态度和扎实的知识作为基础和后盾的,还要将理论知识与实际课题相结合起来,不仅培养了独立思考、动

7、手操作的能力,在各种其它能力上也都有了提高。通过此次课程设计,将本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过通过上网查找资料和在我们同组成员的努力配合尝试下,还是很好的完成了。这次课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资源。在以后的生活中不管做什么事都需要有一颗坚持不懈的心,在遇到困难时要有毫不气馁迎难而上的勇气,要脚踏实地一步一步的做下去,不能急于求成。附录:一:程序代码二:参考文献程序代码: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) /创建对话框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,保存文件对话框,FileDialog.SAVE);filedialog_load=new FileDialog(this,打开文件对话框,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(); /创建一个从左到右显示其组件的 box1;Box box2=Box.createVerticalBox(); /创建一个从上到下显示其组件的 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); ); /“关闭”窗口事件;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中获得的文本,进行初始化,与原字符串长度相等,并将该字符串对象的全部字符复制到该数组a中texta.setText(null);int n;char secret= ;for(int i=0;ia.length;i+)char c=(char)(secretai); /进行异或运算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等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论