编辑代码

import java.util.ArrayList;
import java.util.List;


public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String str = sc.nextLine();
            // 加密
            encode(str);    
            // 解密
            String str1 = sc.nextLine();
            decode(str1);    
        }    
    }    

    private static void decode(String str) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < str.length(); i++) {
            String temp = String.valueOf(str.charAt(i));
            if(temp.matches("[a-zA-Z]+")) {
                if(str.charAt(i) == 'A') {
                    sb.append('z');
                } else if(str.charAt(i) == 'a') {
                    sb.append('Z');
                } else {
                    char info = (char) (str.charAt(i) - 1);
                    if(String.valueOf(info).matches("[a-z]")) {
                        sb.append(String.valueOf(info).toUpperCase());
                    } else {
                        sb.append(String.valueOf(info).toLowerCase());
                    }
                }
            } else {
                if(str.charAt(i) == '0') {
                    sb.append('9');
                }  else {
                    char info = (char) (str.charAt(i) - 1);
                    sb.append(info);
                }
            }
        }
        System.out.println(sb.toString());    
    }
    
    private static void encode(String str) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < str.length(); i++) {
            String temp = String.valueOf(str.charAt(i));
            if(temp.matches("[a-zA-Z]")) {
                if(str.charAt(i) == 'Z') {
                    sb.append('a');
                } else if(str.charAt(i) == 'z') {
                    sb.append('A');
                } else {
                    char info = (char) (str.charAt(i) + 1);
                    if(String.valueOf(info).matches("[a-z]")) {
                        sb.append(String.valueOf(info).toUpperCase());
                    } else {
                        sb.append(String.valueOf(info).toLowerCase());
                    }
                }
            } else {
                if(str.charAt(i) == '9') {
                    sb.append('0');
                }  else {
                    char info = (char) (str.charAt(i) + 1);
                    sb.append(info);
                }
            }
        }
        System.out.println(sb.toString());    
        
    }
    
}