实验一 Java开发环境的熟悉 (凯撒密码)
实验报告封面
一、实验报告封面
课程:Java程序设计 班级:1651班 姓名:李泊志 学号:20165118
指导教师:娄嘉鹏 实验日期:2018年4月2日
实验时间:13:45 - 15:25 实验序号:实验一
实验名称:Java开发环境的熟悉
二、实验题目:,凯撒密码,并进行测试(正常情况,异常情况,边界情况)
三、实验内容:
1.使用JDK编译、运行简单的Java程序;
2.使用IDEA 编辑、编译、运行、调试Java程序。
实验要求:
3.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程;
4.完成实验、撰写实验报告,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等);
5.实验报告中统计自己的PSP(Personal Software Process)时间;
6.严禁抄袭。
四、实验知识点:
1.JVM、JRE、JDK的安装位置与区别;
2.命令行运行javac;java;javac -cp; java -cp;
3.PATH,CLASSPATH,SOURCEPATH的设定方法与应用;
4.包管理:package;import;javac -d ;
5.Eclipse(Netbeans)管理Java项目,调试:断点、单步执行等;
6.Java基础语法:类型与类型转换;变量;运算符;流程控制等;
7.JDK帮助文档的使用
实验过程:
创建文件和打包:
代码思路和调试:对于合法字符进行移位,非法字符返回输入界面,此外还有a,z字母的边界判断。调试过程中会突然提示注册码失效,后来是去下了17年的idea才解决的,用的时候发现17年的idea居然不用注册码。。不知道哪里出了什么问题。此外代码部分还参考了网上的资料。
import java.util.Scanner;
public class kaisai {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println();
System.out.print("请选择操作(1.加密、2.解密):");
int index = sc.nextInt();
if (1 == index) {
System.out.print("请输入待加密的字符串:");
String str = sc.next();
StringBuffer newStr = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
switch (c) {
case ‘x‘:
newStr.append(‘a‘);
break;
case ‘y‘:
newStr.append(‘b‘);
break;
case ‘z‘:
newStr.append(‘c‘);
break;
default:
if (!(c >= ‘a‘ && c <= ‘w‘)) {
newStr.append(c);
continue;
}
char newChar = (char) (c + 3);
newStr.append(newChar);
}
}
System.out.println("加密后的字符串是:" + newStr.toString());
} else if (2 == index) {
System.out.print("请输入待解密的字符串:");
String str = sc.next();
char[] arr = str.toCharArray();
for (int i = 0; i < arr.length; i++) {
switch (arr[i]) {
case ‘a‘:
arr[i] = ‘x‘;
break;
case ‘b‘:
arr[i] = ‘y‘;
break;
case ‘c‘:
arr[i] = ‘z‘;
break;
default:
if (!(arr[i] >= ‘d‘ && arr[i] <= ‘z‘)) {
continue;
}
arr[i] -= 3;
}
}
System.out.print("解密后的字符串是:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
} else {
System.out.println("sorry,请输入1或2");
}
sc.close();
}
}
- 代码运行截图:
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 10 | 8% |
设计 | 20 | 15% |
代码实现 | 60 | 45% |
测试 | 30 | 24% |
分析总结 | 10 | 8% |