站在巨人的肩膀上的答案,用的Stringbuilder:

import java.util.*;
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            System.out.println(encode(in.nextLine()));
            System.out.println(decode(in.nextLine()));
        }
        
    }
    public static String encode(String str){
        StringBuilder sb = new StringBuilder(1000);
        for(int i = 0; i < str.length(); i++){
            if(str.charAt(i) >= 'a' && str.charAt(i) < 'z')
                sb.append((char)(str.charAt(i) - 'a' + 'A' + 1));
            else if(str.charAt(i) == 'z')
                sb.append('A');
            else if(str.charAt(i) >= 'A' && str.charAt(i) < 'Z')
                sb.append((char)(str.charAt(i) - 'A' + 'a' + 1));
            else if(str.charAt(i) == 'Z')
                sb.append('a');
            else if(str.charAt(i) >= '0' && str.charAt(i) < '9')
                sb.append((char)(str.charAt(i) + 1));
            else if(str.charAt(i) == '9')
                sb.append('0');
            }
             return sb.toString();   
        }
        
    
        public static String decode(String str){
        StringBuilder sb = new StringBuilder(1000);
        for(int i = 0; i < str.length(); i++){
            if(str.charAt(i) > 'a' && str.charAt(i) <= 'z')
                sb.append((char)(str.charAt(i) - 'a' + 'A' - 1));
            else if(str.charAt(i) == 'a')
                sb.append('Z');
            else if(str.charAt(i) > 'A' && str.charAt(i) <= 'Z')
                sb.append((char)(str.charAt(i) - 'A' + 'a' - 1));
            else if(str.charAt(i) == 'A')
                sb.append('z');
            else if(str.charAt(i) > '0' && str.charAt(i) <= '9')
                sb.append((char)(str.charAt(i) - 1));
            else if(str.charAt(i) == '0')
                sb.append('9');
                
        }
        return sb.toString();
    }
}