题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String s1 = scanner.nextLine();
String s2 = scanner.nextLine();
String encode = encode(s1);
System.out.println(encode);
String decode = decode(s2);
System.out.println(decode);
}
public static String encode(String str) {
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {
if (String.valueOf(c).matches("[A-Z]")) {
if (Objects.equals(c, 'Z')) {
sb.append('a');
} else {
sb.append((char) ((c + "").toLowerCase().charAt(0) +1));
}
} else if (String.valueOf(c).matches("[a-z]")) {
if (Objects.equals(c, 'z')) {
sb.append('A');
} else {
sb.append((char) ((c + "").toUpperCase().charAt(0) + 1));
}
} else if (String.valueOf(c).matches("[0-9]")) {
if (Objects.equals(c, '9')) {
sb.append('0');
} else {
sb.append((char)(c+1));
}
}
}
return sb.toString();
}
public static String decode(String str) {
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {
if (String.valueOf(c).matches("[a-z]")) {
if (Objects.equals(c, 'a')) {
sb.append('Z');
} else {
sb.append((char) ((c + "").toUpperCase().charAt(0) -1));
}
} else if (String.valueOf(c).matches("[A-Z]")) {
if (Objects.equals(c, 'A')) {
sb.append('z');
} else {
sb.append((char) ((c + "").toLowerCase().charAt(0) - 1));
}
} else if (String.valueOf(c).matches("[0-9]")) {
if (Objects.equals(c, '0')) {
sb.append('9');
} else {
sb.append((char)(c-1));
}
}
}
return sb.toString();
}
}