学号 2017-2018-2 《程序设计与数据结构》实验三报告
课程:《程序设计与数据结构》
班级: 1723
姓名: 康皓越
学号:20172326
实验教师:王志强
实验日期:2018年5月16日
必修/选修: 必修
1.实验内容
- 代码规范
- 协同测试
- 重构
密码学应用
2. 实验过程及结果
- 代码规范
- 可以看到在使用代码规范之前,我的代码几乎都存在许多问题,以standardcode作为使用代码规范的例子
public class CodeStandard {public static void main(String [] args){StringBuffer buffer = new StringBuffer();buffer.append('S');buffer.append("tringBuffer");System.out.println(buffer.charAt(1));System.out.println(buffer.capacity());System.out.println(buffer.indexOf("tring"));System.out.println("buffer = " + buffer.toString());if(buffer.capacity()<20)buffer.append("1234567");for(int i=0; i
打开代码实时规范扫描,(图)
可以看出,许多“红色”,每一条都会有详细的错误问题,一一改正后,显示正确。
- 喜欢的功能是code-generator功能(图)
,这个功能能够迅速有效的帮助构建方法或使用junit。
- 协同测试
- 我下载的是,在通过对他的代码理解后,使用junit进行了测试,并获得了结果。
- 重构
- 这次依旧是通过对他代码的理解,我对他的代码进行了重构。(图)
4.密码学应用
- 本节内容较为复杂,主要是实践,通过实践,了解了Java中的加密方法。
3. 实验过程中遇到的问题和解决过程
- 阿里巴巴的代码插件下载问题
- 出现下载速度极慢的问题,在重复下载后,通过拷贝其他同学下好的插件得以成功。
- 如何下载搭档的代码
- 使用搭档的代码进行测试时,需要首先获得权限,也就是加入对方的项目时,需要对方的允许。
(图)之后,新建项目即可。
- 密码学应用的问题
- 当运行如下代码后
import java.io.*;import javax.crypto.*;public class Skey_DES{ public static void main(String args[]) throws Exception{ KeyGenerator kg=KeyGenerator.getInstance("DESede"); kg.init(168); SecretKey k=kg.generateKey( ); FileOutputStream f=new FileOutputStream("key1.dat"); ObjectOutputStream b=new ObjectOutputStream(f); b.writeObject(k); }}
生成了一个.dat文件,打开后可以看到是一堆乱码。开始以为是UTF-8未转化成GBK的缘故。转化后,依旧是乱码。查询后可知,dat文件使用记事本打开后就是如此,需要特殊的方式运行方可运行。
其他(感悟、思考等)
- 密码学知识较为复杂,用到了许许多多的之前闻所未闻的方法,对于以后的帮助很大,有机会希望能够继续学习