题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//加密
System.out.println(encrypt(in.nextLine()));
//解密
System.out.println(decode(in.nextLine()));
}
public static String encrypt(String str) {
char[] cs_str = str.toCharArray();
for (int i = 0; i < str.length(); i++) {
char c = cs_str[i];
if (Character.isDigit(c)) {
cs_str[i] -= '0';
cs_str[i] = (char)((cs_str[i] + 1) % 10);
cs_str[i] += '0';
} else if (Character.isLetter(c)) {
if (Character.isLowerCase(c)) {
cs_str[i] -= 'a';
cs_str[i] = (char)((cs_str[i] + 1) % 26);
cs_str[i] += 'A';
} else {
cs_str[i] -= 'A';
cs_str[i] = (char)((cs_str[i] + 1) % 26);
cs_str[i] += 'a';
}
} else {
continue;
}
}
return new String(cs_str);
}
public static String decode(String str) {
char[] cs_str = str.toCharArray();
for (int i = 0; i < str.length(); i++) {
char c = cs_str[i];
if (Character.isDigit(c)) {
cs_str[i] -= '0';
cs_str[i] = (char)((cs_str[i] + 9) % 10);
cs_str[i] += '0';
} else if (Character.isLetter(c)) {
if (Character.isLowerCase(c)) {
cs_str[i] -= 'a';
cs_str[i] = (char)((cs_str[i] + 25) % 26);
cs_str[i] += 'A';
} else {
cs_str[i] -= 'A';
cs_str[i] = (char)((cs_str[i] + 25) % 26);
cs_str[i] += 'a';
}
} else {
continue;
}
}
return new String(cs_str);
}
}
韶音科技公司氛围 640人发布
查看17道真题和解析