模拟过程即可
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String encode = ""; while ((encode = br.readLine()) != null) { String decode = br.readLine(); System.out.println(doEncode(encode)); System.out.println(doDecode(decode)); } br.close(); } public static String doEncode(String s) { StringBuilder sb = new StringBuilder(); for(char c: s.toCharArray()) { if ('0' <= c && c <= '8') { sb.append((char)(c+1)); } else if (c == '9') { sb.append('0'); } else if ('a' <= c && c <= 'y') { sb.append((char)(c + 1 - 'a' + 'A')); } else if (c == 'z') { sb.append('A'); } else if ('A' <= c && c <= 'Y') { sb.append((char)(c + 1 - 'A' + 'a')); } else if (c == 'Z') { sb.append('a'); } else { sb.append(c); } } return sb.toString(); } public static String doDecode(String s) { StringBuilder sb = new StringBuilder(); for(char c: s.toCharArray()) { if ('1' <= c && c <= '9') { sb.append((char)(c-1)); } else if (c == '0') { sb.append('9'); } else if ('b' <= c && c <= 'z') { sb.append((char)(c - 1 - 'a' + 'A')); } else if (c == 'a') { sb.append('Z'); } else if ('B' <= c && c <= 'Z') { sb.append((char)(c - 1 - 'A' + 'a')); } else if (c == 'A') { sb.append('z'); } else { sb.append(c); } } return sb.toString(); } }