package oj.test;
import java.util.*;
public class Demo4 {
/**
* @字符串加解密
*
* 题目描述
* 1、对输入的字符串进行加解密,并输出。
*
* 2加密方法为:
* 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
* 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
* 其他字符不做变化。
*
* 3、解密方法为加密的逆过程
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine();
String str2 = sc.nextLine();
code(str1); //加密
uncode(str2); //解密
}
private static void code(String str1) {
char[] ch = str1.toCharArray();
for(int i=0;i<str1.length();i++){
if(ch[i]>='a' && ch[i]<'z'){
ch[i] = (char) (ch[i]+1-32) ;
}else
if(ch[i]=='z'){
ch[i] = 'A';
}else
if(ch[i]>='A' && ch[i]<'Z'){
ch[i] = (char) (ch[i]+1+32) ;
}else
if(ch[i]=='Z'){
ch[i] = 'a';
}else
if(ch[i]>='0' && ch[i]<'9'){
ch[i] = (char) (ch[i]+1);
}else
if(ch[i]=='9'){
ch[i] = '0';
}
}
sop(new String(ch));
}
private static void uncode(String str2) {
char[] ch = str2.toCharArray();
for(int i=0;i<str2.length();i++){
if(ch[i]>'a' && ch[i]<='z'){
ch[i] = (char) (ch[i]-1-32) ;
}else
if(ch[i]=='a'){
ch[i] = 'Z';
}else
if(ch[i]>'A' && ch[i]<='Z'){
ch[i] = (char) (ch[i]-1+32) ;
}else
if(ch[i]=='A'){
ch[i] = 'z';
}else
if(ch[i]>'0' && ch[i]<='9'){
ch[i] = (char) (ch[i]-1);
}else
if(ch[i]=='0'){
ch[i] = '9';
}
}
sop(new String(ch));
}
private static void sop(Object o) {
System.out.println(o);
}
}