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

你的任务是对给定的密文进行解密得到明文。 你需要注意的是,密文中出现的字母都是大写 字母。密文中也包括非字母的字符,对这些字符不用进行解码。

输入格式:

输入一行密文字符串,可包含空格。

输出格式:

输出明文字符串。输入明文字符串为空时,输出“NULL”

输入样例:

AB 12aC dab EF
结尾无空行

输出样例:

VW 12aX dab ZA
结尾无空行

示例代码:

import java.util.ArrayList;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);String str=sc.nextLine();//如果输入字符串为空时if("".equals(str)){System.out.println("NULL");}//否则输出明文else {//定义顺序表ArrayList<Character> code=new ArrayList<Character>();//将字符串中的数据存储到顺序表中for (int i = 0; i < str.length(); i++) {code.add(str.charAt(i));//解密,即将密文中的所有字母向前移动5位if(code.get(i)>'E'&&code.get(i)<='Z'){code.set(i, (char) (code.get(i)-5));}else if(code.get(i)>='A'&&code.get(i)<='E'){code.set(i, (char) (code.get(i)+21));}}//输出明文for (Character character : code) {System.out.print(character);}}}
}

7-4 jmu-ds-简单密码 (22 分)相关推荐

  1. 7-5 jmu-ds-简单密码 (22分) ---答应我只用if(x),千万别用if(x==true)

    Julius Caesar曾经使用过一种很简单的密码.对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文.比如字符A用F来代替.如下是密文和明文中字符的对应关系. 密文 A ...

  2. php实现 简单密码(代码颜色变化)

    php实现  简单密码(代码颜色变化) 一.总结 一句话总结:写代码的时候一定要关注代码的颜色变化,不然低级错误害死人.常量变量会有不同颜色,所以$str少$符号变成常量的时候很容易发现. 1.变量$ ...

  3. CentOS7.6 MySQL8环境搭建 配置远程登录 字符集UTF8 简单密码

    一.环境准备 1.清理环境中系统自带的MySQL (1)删除系统自带的MySQL或Mariadb yum remove mysql-libs (2)查询系统中是否还有残余的依赖包 rpm -qa | ...

  4. 7-137 凯撒密码 (20 分)

    7-137 凯撒密码 (20 分) 为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文.输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其 ...

  5. 华为机试 HJ21简单密码【java实现】

    描述 现在有一种密码变换算法. 九键手机键盘上的数字与字母的对应: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0, ...

  6. c语言1076 wifi密码(15分),1076 Wifi密码 (15 分)

    下面是微博上流传的一张照片:"各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1:B-2:C-3:D-4:请同学们自己作答 ...

  7. 7-2 凯撒密码 (20分)

    7-2 凯撒密码 (20分) 为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文.输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其加密后 ...

  8. 7-18 银行业务队列简单模拟 (25 分)

    7-18 银行业务队列简单模拟 (25 分) 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达 ...

  9. 银行业务队列简单模拟 (25 分)c语言c++

    7-2 银行业务队列简单模拟 (25 分) 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达银 ...

最新文章

  1. php生成指定范围随机数两位小数_python学习之随机数函数
  2. 3、HTML导入外部样式表(HTML导入CSS文件)
  3. 分类结果可视化python_可视化分类结果的另一种方法
  4. 20145326蔡馨熠《信息安全系统设计》第2周学习总结
  5. [Ubuntu] apt 添加第三方库
  6. Hive配置文件中配置项的含义详解(收藏版)
  7. Ubuntu入门——基础终端命令
  8. 若启用该计算机上的无线功能 请使用,无线网络启用后还显示已禁用怎么办_常见问题解析...
  9. linux基础-mkdir touch cp
  10. 最常见绩效考核方法有哪些?5种有效方法介绍
  11. 氚云ajax,氚云帮助中心
  12. 基于Excel数据库的Cadence元件库管理
  13. android系统方法裁剪图片 华为手机显示为圆
  14. Ubuntu 10.10发布,云计算的和平使者
  15. 使用xlnt库读取excel中文乱码
  16. Java产品:CRM客户关系管理系统
  17. 互联网结合产业,并不是为了继续建筑互联网与实体产业之间的高墙
  18. HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
  19. 【ANSYS命令流】加载与求解技术(三):集中载荷的施加相关命令(节点、关键点)
  20. 力扣之917. 仅仅反转字母

热门文章

  1. AppStore 审核出现“账号调查”的原因分析
  2. 红外模块android驱动添加
  3. igmp snooping v1/v2/v3
  4. java中abstract是什么_JAVA中的abstract的介绍
  5. 异步电机速度估计-模型参考自适应MRAS法(补充)
  6. pandas 中loc和iloc的区别、用法
  7. css选择器、hover伪类
  8. Arguments 对象
  9. 一条简单命令校验MD5
  10. 不能实例化抽象类抽象类不能实例化