实验一Java开发环境的熟悉
2016-04-24 20:05
260 查看
实验一Java开发环境的熟悉
实验内容
•命令行下Java程序开发
•IDEA下Java程序开发、调试
•练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序)
•实现凯撒密码,并进行测试
实验要求
使用JDK编译、运行简单的Java程序;
使用Eclipse 编辑、编译、运行、调试Java程序。
实验步骤
前期准备
预先安装好JDK,并配置好环境变量;
继续下载idealC-2016.1.1,安装完毕后在Eclipse界面中配置JDK,为后期运行Eclipse调试程序做准备。
需求分析
实现凯撒密码,并进行测试;
需要一个主类,设置主函数,提供输入、输出功能,实现加法密码加密解密;
需要一个加密类,一个解密类,提供对于输入的明文、密文和输入的密钥进行对应的加密、解密这样一个算法,而且可以供主函数调用;
设计
主类的设计:
该类不含主函数,供调用以及输出输出和跳转使用;
设计私有成员变量result和flag,result用来记录各个功能函数的计算结果,flag用来判断除法运算是否合法;
设计四个计算功能的函数,分别实现加减乘除功能,并通过this.result来返回计算结果,通过this.flag返回判断是否合法的结果;
设计两个取值功能的函数,因为result和flag是私有成员变量,不能由别的类直接进行取值,所以设计两个取值的函数,分别为getResult()和isFlag()。
主类的设计:
首先要定义接口:java.util.Scanner;,提供用户输入的功能;
定义主函数,记录三个输入变量,分别是左右操作数(double型),以及中间的运算符(字符串型);
定义主类类变量,实现调用加密、解密类的功能,针对所需要进行加密或是解密调用不同功能的功能函数,进而实现加密或是解密;
将结果进行输出。
代码实现 & 测试
Eclipse环境下开发:
依据题目,根据已学JAVA知识,进行不同块的代码编写。
主类代码:
利用周末的时间,自己在课下学习了实验一的实验内容,由于前面的基础掌握较差,所以实验的内容还是掌握的不透彻,本次试验主要是四个步骤1.命令行下Java程序开2.IDEA下Java程序开发、调试3.练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序)4.实现凯撒密码,并进行测试
实验内容
•命令行下Java程序开发
•IDEA下Java程序开发、调试
•练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序)
•实现凯撒密码,并进行测试
实验要求
使用JDK编译、运行简单的Java程序;
使用Eclipse 编辑、编译、运行、调试Java程序。
实验步骤
前期准备
预先安装好JDK,并配置好环境变量;
继续下载idealC-2016.1.1,安装完毕后在Eclipse界面中配置JDK,为后期运行Eclipse调试程序做准备。
需求分析
实现凯撒密码,并进行测试;
需要一个主类,设置主函数,提供输入、输出功能,实现加法密码加密解密;
需要一个加密类,一个解密类,提供对于输入的明文、密文和输入的密钥进行对应的加密、解密这样一个算法,而且可以供主函数调用;
设计
主类的设计:
该类不含主函数,供调用以及输出输出和跳转使用;
设计私有成员变量result和flag,result用来记录各个功能函数的计算结果,flag用来判断除法运算是否合法;
设计四个计算功能的函数,分别实现加减乘除功能,并通过this.result来返回计算结果,通过this.flag返回判断是否合法的结果;
设计两个取值功能的函数,因为result和flag是私有成员变量,不能由别的类直接进行取值,所以设计两个取值的函数,分别为getResult()和isFlag()。
主类的设计:
首先要定义接口:java.util.Scanner;,提供用户输入的功能;
定义主函数,记录三个输入变量,分别是左右操作数(double型),以及中间的运算符(字符串型);
定义主类类变量,实现调用加密、解密类的功能,针对所需要进行加密或是解密调用不同功能的功能函数,进而实现加密或是解密;
将结果进行输出。
代码实现 & 测试
Eclipse环境下开发:
依据题目,根据已学JAVA知识,进行不同块的代码编写。
主类代码:
package cc.openhome; import java.util.Scanner; public class shiyan1_1 { public static void main(String args[]) throws Exception { System.out.println("输入[加密]进行加密[解密]进行解密,请选择"); Scanner c = new Scanner(System.in);// 第四章,P108创建Scanner对象 String s1 = c.nextLine(); // 获取本行的字符串 if (s1.equalsIgnoreCase("加密")) {// 第六章P181 判断变量s1与A是否相等,忽略大小 System.out.println("请输入明文:"); Scanner shuru = new Scanner(System.in); String s = shuru.nextLine(); System.out.println("请输入密钥(PS:请牢记密钥):"); Scanner miyao = new Scanner(System.in); int key = miyao.nextInt();// 将下一个输入项转换成int类型 Encryption(s, key);// 调用Encryption方法 } else if (s1.equalsIgnoreCase("解密")) { System.out.println("请输入密文:"); Scanner shuru = new Scanner(System.in); String s = shuru.nextLine(); System.out.println("请输入密钥:"); Scanner miyao = new Scanner(System.in); int key = miyao.nextInt(); Decrypt(s, key);// 调用Decrypt方法 } } public static void Encryption(String str, int k) { // 加密 String string = ""; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c >= 'a' && c <= 'z') // 如果字符串中的某个字符是小写字母 { c += k % 26; // 移动key%26位 if (c < 'a') c += 26; // 向左超界 if (c > 'z') c -= 26; // 向右超界 } else if (c >= 'A' && c <= 'Z') // 如果字符串中的某个字符是大写字母 { c += k % 26; if (c < 'A') c += 26;// 向左超界 if (c > 'Z') c -= 26;// 向右超界 } string += c;// 将加密后的字符连成字符串 } System.out.println(str + " 加密后为:" + string); } public static void Decrypt(String str, int n) {// 解密 int k = Integer.parseInt("-" + n); String string = ""; for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (c >= 'a' && c <= 'z') // 如果字符串中的某个字符是小写字母 { c += k % 26; // 移动key%26位 if (c < 'a') c += 26; // 向左超界 if (c > 'z') c -= 26; // 向右超界 } else if (c >= 'A' && c <= 'Z') // 如果字符串中的某个字符是大写字母 { c += k % 26; if (c < 'A') c += 26;// 同上 if (c > 'Z') c -= 26;// 同上 } string += c;// 将解密后的字符连成字符串 } System.out.println(str + " 解密后为:" + string); } }
利用周末的时间,自己在课下学习了实验一的实验内容,由于前面的基础掌握较差,所以实验的内容还是掌握的不透彻,本次试验主要是四个步骤1.命令行下Java程序开2.IDEA下Java程序开发、调试3.练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序)4.实现凯撒密码,并进行测试
相关文章推荐
- java中遍历MAP的几种方法
- Java打印对象的内存地址
- java成神之路
- 20145211 《Java程序设计》第8周学习总结——自在飞花轻似梦
- 20145303 《Java程序设计》第8周学习总结
- java 监听实现办法
- SpringMVC 二 :controller
- JAVA之工厂模式(静态工厂模式(简单工厂模式)、工厂方法模式、抽象工厂模式)
- 20145326 《Java程序设计》第8周学习总结
- MyEclipse 10.0安装图解
- 20145329《Java程序设计》第八周学习总结
- Android eclipse version 52.0报错
- java---多线程sleep()和setPriority()方法
- 20145334赵文豪 《Java程序设计》第8周学习总结
- 20145105 《Java程序设计》实验三总结
- Java语言泛型--->通配符
- Eclipse中的快捷键
- java事务管理
- java---多线程调度与控制常见方法一览
- java实现快速排序