课后作业
2015-10-25 16:58
211 查看
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:
请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、源代码、结果截图。
设计思想:
先输入string类型的字符,把字符转化为字符数组,若是加密则在a-w或A-W中则每个字符+3若在x-z或X-Z中则每个字符-23,;若是解密则在a-c或A-C中每个字符+23若在d-z或D-Z中则每个字符-3;在把字符数组转化为string类型,输出结果。
源代码:
//编写一个加密和解密程序 每个字母往后顺延3个位置
//李国帅 2015.10.25
import java.util.Scanner;
public class PassWord {
public static void main(String[] args){
System.out.println("加密请选1,解密请选2:");
String jiami,jiemi;
Scanner scan;
int i,j;
scan=new Scanner(System.in);
i = scan.nextInt();
if(i==1){
scan=new Scanner(System.in);
System.out.println("请输入要加密的字符:");
jiami=scan.nextLine();
char array[]=jiami.toCharArray();
for(j=0;j<jiami.length();j++){
if(array[j]>=65&&array[j]<=87||array[j]>=97&&array[j]<=119)
array[j]=(char) (array[j]+3);
else if((array[j]>=88&&array[j]<=90)||(array[j]>=120&&array[j]<=122))
array[j]=(char) (array[j]-23);
}
StringBuffer arr = new StringBuffer();
for(j=0;j<jiami.length();j++){
arr.append(array[j]);
}
String newjiami=arr.toString();
System.out.println("加密后的字符为:"+newjiami);
}
else
{
scan=new Scanner(System.in);
System.out.println("请输入密码:");
jiemi=scan.nextLine();
char array[]=jiemi.toCharArray();
for(j=0;j<jiemi.length();j++){
if(array[j]>=65&&array[j]<=67||array[j]>=97&&array[j]<=99){
array[j]=(char)(array[j]+23);
}
else if(array[j]>=68&&array[j]<=90||array[j]>=100&&array[j]<=122){
array[j]=(char)(array[j]-3);
}
}
StringBuffer arr = new StringBuffer();
for(j=0;j<jiemi.length();j++){
arr.append(array[j]);
}
String newjiemi=arr.toString();
System.out.println("解密后的字符为:"+newjiemi);
}
}
}
结果截图:
请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、源代码、结果截图。
设计思想:
先输入string类型的字符,把字符转化为字符数组,若是加密则在a-w或A-W中则每个字符+3若在x-z或X-Z中则每个字符-23,;若是解密则在a-c或A-C中每个字符+23若在d-z或D-Z中则每个字符-3;在把字符数组转化为string类型,输出结果。
源代码:
//编写一个加密和解密程序 每个字母往后顺延3个位置
//李国帅 2015.10.25
import java.util.Scanner;
public class PassWord {
public static void main(String[] args){
System.out.println("加密请选1,解密请选2:");
String jiami,jiemi;
Scanner scan;
int i,j;
scan=new Scanner(System.in);
i = scan.nextInt();
if(i==1){
scan=new Scanner(System.in);
System.out.println("请输入要加密的字符:");
jiami=scan.nextLine();
char array[]=jiami.toCharArray();
for(j=0;j<jiami.length();j++){
if(array[j]>=65&&array[j]<=87||array[j]>=97&&array[j]<=119)
array[j]=(char) (array[j]+3);
else if((array[j]>=88&&array[j]<=90)||(array[j]>=120&&array[j]<=122))
array[j]=(char) (array[j]-23);
}
StringBuffer arr = new StringBuffer();
for(j=0;j<jiami.length();j++){
arr.append(array[j]);
}
String newjiami=arr.toString();
System.out.println("加密后的字符为:"+newjiami);
}
else
{
scan=new Scanner(System.in);
System.out.println("请输入密码:");
jiemi=scan.nextLine();
char array[]=jiemi.toCharArray();
for(j=0;j<jiemi.length();j++){
if(array[j]>=65&&array[j]<=67||array[j]>=97&&array[j]<=99){
array[j]=(char)(array[j]+23);
}
else if(array[j]>=68&&array[j]<=90||array[j]>=100&&array[j]<=122){
array[j]=(char)(array[j]-3);
}
}
StringBuffer arr = new StringBuffer();
for(j=0;j<jiemi.length();j++){
arr.append(array[j]);
}
String newjiemi=arr.toString();
System.out.println("解密后的字符为:"+newjiemi);
}
}
}
结果截图:
相关文章推荐
- 正则表达式
- Liquibase
- JAVAC 命令详解
- Sizzle引擎执行的流程图
- 算法的复杂度——算法的时间复杂度和空间复杂度
- Zygote进程启动System Server进程的过程
- 不带头单链表的冒泡排序,及其常见算法题
- 常用SQL语句 - 基于MySQL数据库
- 习题 7-2 uva225(回溯)
- 使用jxl读写excel
- 习题 7-2 uva225(回溯)
- Java 组合查询
- 解决Java compiler level does not match the version of the installed Java project facet.问题
- 沟通拦路虎And垫脚石
- IOS设计的理解
- Function类型
- c++ thread detach
- UML学习笔记之协作图
- unity3d中利用网格去绘制血条
- 用 AFNetworking 通过 POST 方式发送数据