题解 | #字符串加解密#简单明了解法,分享给大家
字符串加解密
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 a = in.nextLine(); //需要加密的密码
String b = in.nextLine(); //需要解密的密码
char[] at = a.toCharArray();
char[] bt = b.toCharArray();
for (int i = 0; i < at.length; i++) {
if ((at[i] >= 'a' && at[i] <= 'z') || (at[i] >= 'A' &&
at[i] <= 'Z')) {
at[i] = isZandJM(at[i]);
} else if (at[i] >= '0' && at[i] <= '9') {
at[i] = isNandJM(at[i]);
} else {
continue;
}
}
for (int i = 0; i < bt.length; i++) {
if ((bt[i] >= 'a' && bt[i] <= 'z') || (bt[i] >= 'A' &&
bt[i] <= 'Z')) {
bt[i] = isZandGM(bt[i]);
} else if (bt[i] >= '0' && bt[i] <= '9') {
bt[i] = isNandGM(bt[i]);
} else {
continue;
}
}
System.out.println(String.valueOf(at));
System.out.println(String.valueOf(bt));
}
}
private static char isZandJM(char a) {
if (a >= 'a' && a <= 'z') {
if (a == 'z') {
return 'A';
} else {
return (char)(a - 31);
}
}
if (a >= 'A' && a <= 'Z') {
if (a == 'Z') {
return 'a';
}
}
return (char)(a + 33);
}
private static char isZandGM(char a) {
if (a >= 'a' && a <= 'z') {
if (a == 'a') {
return 'Z';
} else {
return (char)(a - 33);
}
}
if (a >= 'A' && a <= 'Z') {
if (a == 'A') {
return 'z';
}
}
return (char)(a + 31);
}
private static char isNandJM(char a) {
if (a == '9') {
return '0';
}
return (char)(a + 1);
}
private static char isNandGM(char a) {
if (a == '0') {
return '9';
}
return (char)(a - 1);
}
}
查看15道真题和解析