zoukankan      html  css  js  c++  java
  • 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文件使用记事本打开后就是如此,需要特殊的方式运行方可运行。

    其他(感悟、思考等)

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

    参考资料

  • 相关阅读:
    嵌入式Linux设备驱动编程(1):基础
    嵌入式Linux网络编程
    Linux进程间通信(5):消息队列
    Android网络通信(2):HTTP通信
    Android网络通信(3):Socket通信
    Android网络通信(5):WiFi
    Linux任务、进程和线程
    Android程序的安装和卸载
    Android网络通信(4):WebKit
    Android网络通信(1):Android网络基础
  • 原文地址:https://www.cnblogs.com/326477465-a/p/9102506.html
Copyright © 2011-2022 走看看