package three;
/*
* 简单密码
* Julius Caesar曾经使用过一种很简单的密码,对于明文中的每个字符,
* 用字母表中的后5位所对应的字符代替
* 就得到了密文,例如,字符A用F代替
* 下面就是密文和明文中字符的对应关系:
* 密文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
* 明文:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
*
* 你的任务是对给定的密文进行解密,得到明文,密文中出现的字母都是大写字母
* 密文中也包括非字母的字符,对这些字符不用进行解码
*
*
*
* 一组测试数据包括三部分
* 起始行一行 包括字符串"START"
* 密文
* 结束行 END
* 包括字符串ENDOFINPUT
* */
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 开始接收密文
System.out.println("开始接收密文");
String str = scan.nextLine();
// 将接收的字符串转换位字符型数组
while (str != null) {
if (str == "ENDOFINPUT") {
}
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
if ('A' <= ch[i] && ch[i] <= 'Z') {
ch[i] = (char) ((ch[i] - 'A' - 5 + 26) % 26 + 'A');
}
}
//将字符型数组转换为字符串
String str2 = String.valueOf(ch);
System.out.println(str2);
return;
}
}
}
控制台测试

欢迎留言更正
324

被折叠的 条评论
为什么被折叠?



