7题解 | #字符串加解密#
字符串加解密
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 的区别 String plaintext = in.nextLine(); String ciphertext = in.nextLine(); String cipher = encrypt(plaintext); String plain = decrypt(ciphertext); System.out.println(cipher); System.out.println(plain); } public static String encrypt(String plaintext){ StringBuilder sb = new StringBuilder(); char [] ch = plaintext.toCharArray(); for(int i = 0;i<plaintext.length();i++){ if(Character.isLowerCase(ch[i]) && ch[i]!='z'){ sb.append((char)(ch[i] - 32 + 1)); continue; } if(Character.isUpperCase(ch[i]) && ch[i]!='Z'){ sb.append((char)(ch[i] + 32 + 1)); continue; } if(ch[i]=='z'){ sb.append('A'); continue; } if(ch[i]=='Z'){ sb.append('a'); continue; } if(ch[i]>='0' && ch[i]<='8'){ sb.append(Integer.valueOf(ch[i]+"") + 1); continue; } if(ch[i]=='9'){ sb.append(0); continue; } sb.append(ch[i]); } return sb.toString(); } public static String decrypt(String ciphertext){ StringBuilder sb = new StringBuilder(); char [] ch = ciphertext.toCharArray(); for(int i = 0;i<ciphertext.length();i++){ if(Character.isLowerCase(ch[i]) && ch[i]!='a'){ sb.append((char)(ch[i] - 32 - 1)); continue; } if(Character.isUpperCase(ch[i]) && ch[i]!='A'){ sb.append((char)(ch[i] + 32 - 1)); continue; } if(ch[i]=='a'){ sb.append('Z'); continue; } if(ch[i]=='A'){ sb.append('z'); continue; } if(ch[i]>='1' && ch[i]<='9'){ sb.append(Integer.valueOf(ch[i]+"") - 1); continue; } if(ch[i]=='0'){ sb.append(9); continue; } sb.append(ch[i]); } return sb.toString(); } }