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

Posted Cyka_bylat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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文件使用记事本打开后就是如此,需要特殊的方式运行方可运行。

其他(感悟、思考等)

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

参考资料

以上是关于2017-2018-2 《程序设计与数据结构》实验三报告的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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