题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 //while (in.hasNext()) { // 注意 while 处理多个 case String str = in.nextLine(); String str2 = in.nextLine(); System.out.println(enCode(str)); System.out.println(deCode(str2)); //} } /** *解密 */ public static String deCode(String str){ StringBuilder sb = new StringBuilder(); char[] ch = str.toCharArray(); for(int i = 0;i < ch.length;i++){ if(ch[i] == '0'){ sb.append("9"); }else if(ch[i] == 'a'){ sb.append("Z"); }else if(ch[i] == 'A'){ sb.append("z"); }else if('a'< ch[i] && ch[i]<= 'z'){ sb.append(String.valueOf((char)(ch[i] - 32 - 1))); }else if('A'< ch[i] && ch[i]<= 'Z'){ sb.append(String.valueOf((char)(ch[i] - 1 + 32))); }else{ sb.append(String.valueOf((char)(ch[i] - 1))); } } return sb.toString(); } /** *加密 */ public static String enCode(String str){ StringBuilder sb = new StringBuilder(); char[] ch = str.toCharArray(); for(int i = 0;i < ch.length;i++){ if(ch[i] == '9'){ sb.append("0"); }else if(ch[i] == 'Z'){ sb.append("a"); }else if(ch[i] == 'z'){ sb.append("A"); }else if('a'<= ch[i] && ch[i]<= 'y'){ sb.append(String.valueOf((char)(ch[i] + 1 - 32))); }else if('A'<= ch[i] && ch[i]<= 'Y'){ sb.append(String.valueOf((char)(ch[i] + 1 + 32))); }else{ sb.append(String.valueOf((char)(ch[i] + 1))); } } return sb.toString(); } }