/*
 * 解题思路:
 *    加密: a->B, Z->a, 1->2, 9->0
 *    解密: B->a, a->Z, 2->1, 0->9
 * 不知所云: 
 *    1. 这题目真没意思...大概是我太菜了...想不到好的解法
 *    2. (参考其他答案)这类题目查表法, 代码写起来就没那么丑, 果然还是太菜了还不长记性...
 * 提交失败: 
 *    1. 没注意题目要求多组输入...
 *    2. 解密部分处理0错误, copy加密部分代码改漏了
 */
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            char[] encrypt = sc.nextLine().toCharArray();
            for (int i = 0; i < encrypt.length; i++) {
                if (encrypt[i] >= 'a' && encrypt[i] <= 'y') {
                    encrypt[i] = (char)(encrypt[i] - ('a' - 'B'));
                    continue;
                }
                if (encrypt[i] >= 'A' && encrypt[i] <= 'Y') {
                    encrypt[i] = (char)(encrypt[i] + ('b' - 'A'));
                    continue;
                }
                if (encrypt[i] >= '0' && encrypt[i] <= '8') {
                    encrypt[i] = (char)(encrypt[i] + 1);
                    continue;
                }

                if (encrypt[i] == 'z') encrypt[i] = 'A';
                else if (encrypt[i] == 'Z') encrypt[i] = 'a';
                else if (encrypt[i] == '9') encrypt[i] = '0';
            }
            System.out.println(new String(encrypt));

            char[] decrypt = sc.nextLine().toCharArray();
            for (int i = 0; i < decrypt.length; i++) {
                if (decrypt[i] >= 'b' && decrypt[i] <= 'z') {
                    decrypt[i] = (char)(decrypt[i] - ('b' - 'A'));
                    continue;
                }
                if (decrypt[i] >= 'B' && decrypt[i] <= 'Z') {
                    decrypt[i] = (char)(decrypt[i] + ('a' - 'B'));
                    continue;
                }
                if (decrypt[i] >= '1' && decrypt[i] <= '9') {
                    decrypt[i] = (char)(decrypt[i] - 1);
                    continue;
                }

                if (decrypt[i] == 'a') decrypt[i] = 'Z';
                else if (decrypt[i] == 'A') decrypt[i] = 'z';
                else if (decrypt[i] == '0') decrypt[i] = '9';
            }
            System.out.println(new String(decrypt));
        }
    }
}

补充查表法, 性能内存占用先不管, 至少看起来没有那么丑了...

/*
 * 解题思路:查表法
 */
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String encrypt = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        String decrypt = "BCDEFGHIJKLMNOPQRSTUVWXYZAbcdefghijklmnopqrstuvwxyza1234567890";
        while (sc.hasNextLine()) {
            char[] str1 = sc.nextLine().toCharArray();
            for (int i = 0; i < str1.length; i++) {
                int idx = encrypt.indexOf(str1[i]);
                str1[i] = idx >= 0 ? decrypt.charAt(idx) : str1[i];
            }
            System.out.println(new String(str1));

            char[] str2 = sc.nextLine().toCharArray();
            for (int i = 0; i < str2.length; i++) {
                int idx = decrypt.indexOf(str2[i]);
                str2[i] = idx >=0 ? encrypt.charAt(idx) : str2[i];
            }
            System.out.println(new String(str2));
        }
    }
}