题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
String相等用 equals()
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str1 = in.nextLine(); String str2 = in.nextLine(); StringBuffer sb1 = new StringBuffer(); StringBuffer sb2 = new StringBuffer(); String regexUpperCase = "[A-Z]"; String regexLowerCase = "[a-z]"; String regexNum = "[0-9]"; //加密 for (int i = 0; i < str1.length(); i++) { String str = str1.substring(i, i + 1); //大写变换小写 if (str.matches(regexUpperCase)) { if ("Z".equals(str)) { sb1.append("a"); } else { char ch = (char)((str.toLowerCase().charAt(0)) + 1); sb1.append(ch + ""); } } //小写变化大写 else if (str.matches(regexLowerCase)) { if ("z".equals(str)) { sb1.append("A"); } else { char ch = (char)(str.charAt(0) + 1); sb1.append((ch + "").toUpperCase()); } //数字 } else if (str.matches(regexNum)) { if ("9".equals(str)) { sb1.append("0"); } else { char ch = (char)(str.charAt(0) + 1); sb1.append(ch + ""); } } else { sb1.append(str); } } //解密 for (int i = 0; i < str2.length(); i++) { String str = str2.substring(i, i + 1); //大写变换小写 if (str.matches(regexUpperCase)) { if ("A".equals(str)) { sb2.append("z"); } else { char ch = (char)((str.toLowerCase().charAt(0)) - 1); sb2.append(ch + ""); } } //小写变化大写 else if (str.matches(regexLowerCase)) { if ("a".equals(str)) { sb2.append("Z"); } else { char ch = (char)(str.charAt(0) - 1); sb2.append((ch + "").toUpperCase()); } //数字 } else if (str.matches(regexNum)) { if ("0".equals(str)) { sb2.append("9"); } else { char ch = (char)(str.charAt(0) - 1); sb2.append(ch + ""); } } else { sb2.append(str); } } System.out.println(sb1); System.out.println(sb2); } }