2017-2018-2 《程序设计与数据结构》实验三报告

学号 2017-2018-2 《程序设计与数据结构》实验三报告

课程:《程序设计与数据结构》

班级: 1723
姓名: 康皓越
学号:20172326
实验教师:王志强
实验日期:2018年5月16日
必修/选修: 必修

1.实验内容

  1. 代码规范
  2. 协同测试
  3. 重构
  4. 密码学应用

2. 实验过程及结果

  1. 代码规范
  • 可以看到在使用代码规范之前,我的代码几乎都存在许多问题,以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<buffer.length();i++)
System.out.println(buffer.charAt(i));
}
}

打开代码实时规范扫描,(图)

可以看出,许多“红色”,每一条都会有详细的错误问题,一一改正后,显示正确。

  • 喜欢的功能是code-generator功能(图)

,这个功能能够迅速有效的帮助构建方法或使用junit。
2. 协同测试

  1. 重构

4.密码学应用

3. 实验过程中遇到的问题和解决过程

  1. 阿里巴巴的代码插件下载问题
  • 出现下载速度极慢的问题,在重复下载后,通过拷贝其他同学下好的插件得以成功。
  1. 如何下载搭档的代码
  • 使用搭档的代码进行测试时,需要首先获得权限,也就是加入对方的项目时,需要对方的允许。

(图)之后,新建项目即可。
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文件使用记事本打开后就是如此,需要特殊的方式运行方可运行。

其他(感悟、思考等)

  • 密码学知识较为复杂,用到了许许多多的之前闻所未闻的方法,对于以后的帮助很大,有机会希望能够继续学习

参考资料

posted @ 2018-05-28 21:55  Tummy  阅读(159)  评论(0编辑  收藏  举报