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

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

课程:《程序设计与数据结构》
班级: 1723
姓名: 郭恺
学号: 20172301
实验教师:王志强老师
助教:张旭升/刘伟康
实验日期:2018年5月16日
必修/选修: 必修

1.实验内容

  • 实验1:代码规范,安装alibaba插件,解决代码中的规范问题。
    在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。
  • 实验2:协同测试,在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;
  • 实验3:重构,完成重构内容的练习,下载搭档的代码,至少进行三项重构。
  • 实验4:密码学应用,以结对的方式完成Java密码学相关内容的学习,结合重构。

2. 实验过程及结果

  • 实验1:规范代码。在做多人项目的时候,每个人的每个细节可能都不相同。缩进长度,花括号的位置....都会影响代码阅读性。马云大大公司的代码规范总体来说是很适合我们的。
  • 实验1结果:
  • 实验2:没有什么难度,等待搭档同意你加入他的项目中之后,重新git他的项目就可以了。
    注意:不要轻易删除搭档的文件,只要上传你的junit代码就可以了。
  • 实验2结果:

  • 实验3:重构,帮助我们熟悉IDEA的更多功能。
  • 实验3结果:

  • 实验4:学习密码学
  • 实验4结果:






  • 实验4:密码学。
    这里的java密码共提到了一下几种:

    • 凯撒密码:用于加密通过信使传递的作战命令。它将字母表中的字母移动一定位置而实现加密。可以说是最简单的。
    • DES算法:DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。算法非常普遍。
      如何生成密钥:Java中KeyGenerator类中提供了创建对称密钥的方法。Java中的类一般使用new操作符通过构造器创建对象,但KeyGenerator类不是这样,它预定义了一个静态方法getInstance( ),通过它获得KeyGenerator类型的对象。这种类成为工厂类或工厂。方法getInstance( )的参数为字符串类型,指定加密算法的名称。
    • RSA算法:RSA加密算法是一种非对称加密算法。
      使用KeyPair类的getPublic( )和getPrivate( )方法获得公钥和私钥对象。
    • 使用密钥协定创建共享密钥

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

  • 问题1:有关代码中密码的类和方法。
  • 问题1解决方案:通过API进行查询。
    • KeyGenerator类
    • Cipher类
    • KeyPair类

其他(感悟、思考等)

这次实验的重点主要在最后密码学的学习,但是短时间内,我对于其中某些代码的实现还不是非常理解。尤其是我的IDEA无法导入arg参数,让我更加抓狂。代码偏向于复制粘贴,而缺少了自己的理解和实践。在以后的实验中应该避免。

参考资料

原文地址:https://www.cnblogs.com/gk0625/p/9107915.html

时间: 2024-11-08 08:03:17

20172301 2017-2018-2 《程序设计与数据结构》实验三报告的相关文章

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

20172313 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 余坤澎 学号:20172313 实验教师:王志强 实验日期:2018年5月10日 必修/选修: 必修 1.实验内容 编程标准能够使代码更容易阅读和理解,甚至可以保证其中的错误更少.编程标准包含:具有说明性的名字.清晰的表达式.直截了当的控制流.可读的代码和注释,以及在追求这些内容时一致地使用某些规则和惯用法的重要性.安装alibaba 插件,解决代码中

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

学号 2017-2018-20172309 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 王志伟 学号:20172309 实验教师:王志强老师 实验日期:2018年4月18日 必修/选修: 必修 1.实验内容 实验三 敏捷开发与XP实践 (1)代码规范:安装alibaba 插件,解决代码中的规范问题. 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好

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

学号 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 康皓越 学号:20172326 实验教师:王志强 实验日期:2018年5月16日 必修/选修: 必修 1.实验内容 代码规范 协同测试 重构 密码学应用 2. 实验过程及结果 代码规范 可以看到在使用代码规范之前,我的代码几乎都存在许多问题,以standardcode作为使用代码规范的例子 public class CodeStandard { public st

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

20172305 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 谭鑫 学号:20172305 实验教师:王志强 实验日期:2018年5月27日 必修/选修: 必修 1.实验内容 1.代码规范 Eclipse的内容替换成IDEA并安装alibaba 插件,解决代码中的规范问题. 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用

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

20172311 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 赵晓海 学号:20172311 实验教师:王志强 实验日期:2018年5月27日 必修/选修: 必修 1.实验内容 (1)代码规范 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA 参考 http://www.cnblogs.com/rocedu/p/6371315.html

172322 2018-2019-1 《程序设计与数据结构》实验三报告

172322 2018-2019-1 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 张昊然 学号:20172322 实验教师:王志强 助教:张之睿/张师瑜 实验日期:2018年11月19日 必修/选修: 必修 1.实验内容 此处填写实验的具体内容: 节点一:定义一个Searching和Sorting类,并在类中实现linearSearch(教材P162 ),SelectionSort方法(P169),最后完成测试.要求不少于10个测试用例

20172303 2018-2019-1 《程序设计与数据结构》实验三报告

20172303 2018-2019-1 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 范雯琪 学号:20172303 实验教师:王志强 助教:张师瑜/张之睿 实验日期:2018年11月19日 必修/选修: 必修 实验内容 节点一 定义一个Searching和Sorting类,并在类中实现LinearSearch(教材P162),SelectionSort方法(P169),最后完成测试. 要求不少于10个测试用例,提交测试用例设计情况(正

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

20172325 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 邓煜坤 学号:20172325 实验教师:王志强 实验日期:2018年11月19日 必修/选修: 必修 1.实验内容 实验三-查找与排序-1 定义一个Searching和Sorting类,并在类中实现linearSearch(教材P162 ),SelectionSort方法(P169),最后完成测试. 要求不少于10个测试用例,提交测试用例设计情况(正

20182309 2019-2020-1 《数据结构与面向对象程序设计》实验三报告

20182309 2019-2020-1 <数据结构与面向对象程序设计>实验三报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 董其鹏 学号: 20182309 实验教师:王志强 实验日期:2019年9月23日 必修/选修: 必修 1.实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.完成蓝墨云上 (1)-(5)实验. 2. 实验过程及结果 sout :生成 System.out.println() ps