站在巨人的肩膀上的答案,用的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();
}
}