思路:

加密:

  • 1.字母变换大小写,并变为它的后一位
  • 2.数字变为它的后一位
  • 3.其他字符不变

解密:

  • 1.字母变换大小写,并改为前一位(注:a-Z,A-z)
  • 2.数字变为前一位(注:0-9)
  • 3.其他字符不变
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
              String str = sc.next();//要加密的字符串
              String parseStr = sc.next();//要解密的字符串
              System.out.println(JiaMi(str));
              System.out.println(JieMi(parseStr));
        }
    }

    /**
     * 加密
     * @param str
     * @return
     */
    private static String JiaMi(String str){
        char[] chars = str.toCharArray();
        for (int i = 0; i < chars.length; i++){
            //处理小写字母
            if (chars[i] >= 'a' && chars[i] <= 'z'){//为小写字母
                if (chars[i] == 'z'){
                    chars[i] = 'A';
                }else {
                    chars[i] = (char) (chars[i] - 31);
                }
            }else if (chars[i] >= 'A' && chars[i] <= 'Z'){//处理大写字母
                if (chars[i] == 'Z'){
                    chars[i] = 'a';
                }else {
                    chars[i] = (char) (chars[i] + 33);
                }
            }else if (chars[i] >= '0' && chars[i] <= '9'){//处理为数字的情况
                if (chars[i] == '9'){
                    chars[i] = '0';
                }else {
                    chars[i] = (char) (chars[i] + 1);
                }
            }
        }
        return new String(chars);
    }

    /**
     * 解密
     * @param parseStr
     * @return
     */
    private static String JieMi(String parseStr){
        char[] chars = parseStr.toCharArray();
        for (int i = 0; i < chars.length; i++){
            //处理小写字母
            if (chars[i] >= 'a' && chars[i] <= 'z'){//为小写字母
                if (chars[i] == 'a'){
                    chars[i] = 'Z';
                }else {
                    chars[i] = (char) (chars[i] - 33);
                }
            }else if (chars[i] >= 'A' && chars[i] <= 'Z'){//处理大写字母
                if (chars[i] == 'A'){
                    chars[i] = 'z';
                }else {
                    chars[i] = (char) (chars[i] + 31);
                }
            }else if (chars[i] >= '0' && chars[i] <= '9'){//处理为数字的情况
                if (chars[i] == '0'){
                    chars[i] = '9';
                }else {
                    chars[i] = (char) (chars[i] - 1);
                }
            }
        }
        return new String(chars);
    }
}