20165309 实验一 Java开发环境的熟悉
一、实验内容及步骤
(一)命令行下Java程序开发
-
在Linux下用
ctrl+alt+T
打开终端,用mkdir
创建文件夹后cd
进入。
-
在
vim
下键入如下代码:
-
各回各家式编译、运行:
-
用
tree
再查看一下:
(二)IDEA下Java程序开发、调试
-
建好Hello5309类后键入代码并编译运行,结果如下:
-
鼠标左键点击在第10行设置断点,然后点右键在属性框里设置条件“i==100”:
-
按一下
F9
:
-
按
F7
去step into
,感受变化:
二、练习:实现凯撒密码并进行安全加固和测试(正常情况,异常情况,边界情况)。
(一)设计思路
-
我设计的流程图如下:
-
其中,加解密算法在参考教材186页例子8后实现,异常类是仿照着教材168页例子5写出。
-
代码在码云链接里。
(二)结果与测试
-
正常情况
-
异常情况
-
边界情况
三、实验中遇到的问题及解决
- 在编写加解密算法时忽略了ASCII码转换的问题,比如,加密应该是
int mima=(c[k] -'a' + password) % 26 + 'a';
。 - 无法实现自己设计的循环重复问题,经求助团队伙伴曹歌后,在代码中加入一行
System.exit(0);
得以解决。 - 上传到码云的过程中遇到了“everything up-to-date”的问题,参考了同学的博客建了个分支,可能是当时没有反应过来是啥概念就错把master分支删掉了...目前是按照下图的方式
git push
。
四、实验收获
这次实验的测试题算得上是我这学期以来第一次真正从里到外认真思考后写出实现的,虽然对我来说这个过程很费劲,但是结果很感人~在照着书敲代码的同时也要学着应用才是,更加细致全面地思考问题!
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 10min | 3.7 |
设计 | 30min | 11.1 |
代码实现 | 2.5h | 55.6 |
测试 | 1h | 22.2 |
分析总结 | 20min | 7.4 |