20145113 Java实验一
使用JDK编译、运行简单的Java程序
安装JDK并配置相关环境
安装JDK后配置环境变量
计算机→属性→高级系统设置→高级→环境变量
新建 JAVA_HOME 变量,变量值填写jdk的安装目录(D:\download\java\jdk1.8.0_60)

系统变量→寻找 Path 变量→编辑
在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,但需要注意的是原来Path的变量值末尾有没有;先输入;号
系统变量→新建 CLASSPATH 变量
变量值填写.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;(注意最前面有一点)
在命令行java程序的开发
在命令行下输入java如下图则表明jdk安装成功。
使用javac 与java编辑.java文件。
新建目录
查看工作路径
运行java程序
使用IDEA 编辑、编译、运行、调试Java程序
先设置断点,然后进行debug程序在运行到断点的时候会自动停下,然后可以进行单步调试。
对于函数,可以使用Force Step Into进入函数查看。
JDK帮助文档的使用
实现学生成绩管理功能,并进行测试。
实现的功能有
- 录入学生成绩
- 根据学生的学号查询该学生的相关信息
- 根据学生的学号修改该学生的分数
- 显示所有学生的信息
凯撒密码
在做助教的印象笔记就也把第一题写了
凯撒大帝MGAKUZKRWZWGAWCP
但是需要列出所有可能性(26种),然后根据语义判断最后的答案。
得到最终结果keyisxipuxueyuan
实验中遇到的问题
在进行凯撒密码的编写时,从自身想法出发,对于输入的字符串需要先转化为相应的ASC码,并储存在一个数组中,然后对数组的每一个元素进行操作,但在实现的过程中开始我纠结了如何将字符串转成相应的ASC码,进行分析后,写了一个方法。然后进行调用。
public void getAsc(String st) {
byte[] gc = st.getBytes();
for(int i=0;i<st.length();i++)
{
ascNum[i] = (int) gc[i];
}
}
出现了逻辑错误对应的每个K值打印出来的都是乱码。于是我先分别在不同地方设置输出,然后找到出问题的大致地方,然后再进行设置断点进行单步调试,发现逻辑问题,然后完善。
由于大写字母比较难以根据现实语义找到key,所以我再次对代码进行完善,让输出为小写字母这样就方便找到答案。
实验思考与总结
在想要实现一个功能的时候去编写代码,然后在实现这个功能的过程中出现问题,调试,完善。在不断的解决过程中,边边角角的问题得到解决,自己对于细节的处理能力也得到了提高。
PSP时间统计
实验题4
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 10min | 11% |
设计 | 10min | 11% |
代码实现 | 40min | 44% |
测试 | 15min | 16% |
分析总结 | 25min | 27% |
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 15min | 10% |
设计 | 20min | 13% |
代码实现 | 30min | 20% |
测试 | 60min | 40% |
分析总结 | 30min | 20% |