7-4 jmu-ds-简单密码 (22 分)
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 分)相关推荐
- 7-5 jmu-ds-简单密码 (22分) ---答应我只用if(x),千万别用if(x==true)
Julius Caesar曾经使用过一种很简单的密码.对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文.比如字符A用F来代替.如下是密文和明文中字符的对应关系. 密文 A ...
- php实现 简单密码(代码颜色变化)
php实现 简单密码(代码颜色变化) 一.总结 一句话总结:写代码的时候一定要关注代码的颜色变化,不然低级错误害死人.常量变量会有不同颜色,所以$str少$符号变成常量的时候很容易发现. 1.变量$ ...
- CentOS7.6 MySQL8环境搭建 配置远程登录 字符集UTF8 简单密码
一.环境准备 1.清理环境中系统自带的MySQL (1)删除系统自带的MySQL或Mariadb yum remove mysql-libs (2)查询系统中是否还有残余的依赖包 rpm -qa | ...
- 7-137 凯撒密码 (20 分)
7-137 凯撒密码 (20 分) 为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文.输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其 ...
- 华为机试 HJ21简单密码【java实现】
描述 现在有一种密码变换算法. 九键手机键盘上的数字与字母的对应: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0, ...
- c语言1076 wifi密码(15分),1076 Wifi密码 (15 分)
下面是微博上流传的一张照片:"各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1:B-2:C-3:D-4:请同学们自己作答 ...
- 7-2 凯撒密码 (20分)
7-2 凯撒密码 (20分) 为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文.输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其加密后 ...
- 7-18 银行业务队列简单模拟 (25 分)
7-18 银行业务队列简单模拟 (25 分) 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达 ...
- 银行业务队列简单模拟 (25 分)c语言c++
7-2 银行业务队列简单模拟 (25 分) 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达银 ...
最新文章
- php生成指定范围随机数两位小数_python学习之随机数函数
- 3、HTML导入外部样式表(HTML导入CSS文件)
- 分类结果可视化python_可视化分类结果的另一种方法
- 20145326蔡馨熠《信息安全系统设计》第2周学习总结
- [Ubuntu] apt 添加第三方库
- Hive配置文件中配置项的含义详解(收藏版)
- Ubuntu入门——基础终端命令
- 若启用该计算机上的无线功能 请使用,无线网络启用后还显示已禁用怎么办_常见问题解析...
- linux基础-mkdir touch cp
- 最常见绩效考核方法有哪些?5种有效方法介绍
- 氚云ajax,氚云帮助中心
- 基于Excel数据库的Cadence元件库管理
- android系统方法裁剪图片 华为手机显示为圆
- Ubuntu 10.10发布,云计算的和平使者
- 使用xlnt库读取excel中文乱码
- Java产品:CRM客户关系管理系统
- 互联网结合产业,并不是为了继续建筑互联网与实体产业之间的高墙
- HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
- 【ANSYS命令流】加载与求解技术(三):集中载荷的施加相关命令(节点、关键点)
- 力扣之917. 仅仅反转字母