实验一 Java开发环境的熟悉
一、 实验内容:
(一)使用JDK编译、运行简单的程序
(二)使用idea编辑、编译、运行、调试Java程序。
二、 实验步骤:
(一) 命令行下Java程序开发
- 打开cmd
2. 使用md 20145105指令新建一个实验目录,名称为学号201045105,并用dir指令查看
3. 使用cd 20145105指令进入实验目录,再建立第一个实验目录exp1并进入。
4. 输入cd可以查看当前工作路径。
5. 新建一个文本文件,重命名为Hello.Java,并编辑输入代码。
6. 使用javac –d.Hello.java编译代码。
7. 使用java ljp.Hello运行程序(第一次少了一个空格,修改后运行正确)。
(二) idea下Java程序开发、调试
- 打开idea,新建项目实验一,再新建java class“HelloJDB”。
2. 输入代码。
3. 运行程序。
4. 调试程序,设置断点。
5. 单步运行。
(三) 练习(包括问题和解决方法)
题目:实现凯撒密码,并进行测试。
- 初步编辑代码,试运行,不能正确显示密文,有乱码。
2. 检查后发现,加上密钥后会有超出字母范围的符号出现,做出修改。
3. 再次运行,成功。
4. 进行一些更友好的修改。
5. 最终代码。
importjava.util.Scanner;
import java.lang.String;
public class lianxi {
public static void main(String[] args) {
int i = 0;
int k = 0;
//输入密钥
do {
System.out.println("请输入密钥(1~26):");
Scanner
miyao = new Scanner(System.in);
k = miyao.nextInt();
}while ( k
> 25);
//输入明文
System.out.println("请输入明文:");
Scanner
mingwen = new Scanner(System.in);
String m = mingwen.nextLine();
char[] mm
= m.toCharArray();
//加密过程
for(i = 0;i < m.length();i++) {
if(mm[i]
> 96 && mm[i] < 123 ) {
mm[i] += k;
if(mm[i] > 123) {
mm[i] -= 26;
}
}
if(mm[i]
> 64 && mm[i] < 91) {
mm[i] += k;
if(mm[i] > 91) {
mm[i] -= 26;
}
}
}
//输出密文
System.out.println("输出密文是:");
for(i = 0;
i < m.length(); i++) {
System.out.print(mm[i]);
}
}
}
三、 实验问题:
- 输入明文后不知道如何对字符串内部字符单独操作。
解决:查找书中代码后,使用toCharArray()将字符串转化为数组后,再使用for循环依次对每个字符操作。
2. 初步编辑代码试运行后,得出的密文不正确,有乱码。
解决:经过多次运行,发现部分字母加上密钥后会超出字母范围,所以增加了if条件判断,如果超出范围就减去26.
四、 实验心得:
第一次自己编写代码,本以为会做不出来,但是真正操作起来发现也没有想象中的那么难,重点就在于编写代码前的分析阶段,分析实现凯撒密码需要经过几个步骤、几次输入、什么变换才能成功得到密文。分析过后,需要的就是按部就班地将设计实现出来,在这一步,我发现我对一些常用语法的掌握还不太熟练,需要翻书才知道应该用什么语法,看来只是能看懂代码并不代表会自主编辑,还是要多操作多练习。
步骤 |
耗时 |
百分比 |
需求分析 |
15min |
11.54% |
设计 |
10min |
7.69% |
代码实现 |
30min |
23.08% |
测试 |
15min |
11.54% |
分析总结 |
1h |
46.15% |