题解 | #字符串加解密#
字符串加解密
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);
String line = in.nextLine();
String line2 = in.nextLine();
System.out.println(encode(line));
System.out.println(decode(line2));
}
private static String encode(String line) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < line.length(); i++) {
char c = line.charAt(i);
if (Character.isLetter(c)) {
if (Character.isUpperCase(c)) {
c = c < 'Z' ? (char)(Character.toLowerCase(c) + 1) : 'a';
} else if (Character.isLowerCase(c)) {
c = c < 'z' ? (char)(Character.toUpperCase(c) + 1) : 'A';
}
} else if (Character.isDigit(c) ) {
c = (char)(c<'9'?(c+1):'0');
}
sb.append(c);
}
return sb.toString();
}
private static String decode(String line) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < line.length(); i++) {
char c = line.charAt(i);
if (Character.isLetter(c)) {
if (Character.isUpperCase(c)) {
c = c > 'A' ? (char)(Character.toLowerCase(c) - 1) : 'z';
} else if (Character.isLowerCase(c)) {
c = c > 'a' ? (char)(Character.toUpperCase(c) - 1) : 'Z';
}
} else if (Character.isDigit(c) ) {
c = (char)(c>'0'?(c-1):'9');
// c = (char)((c - '0' - 1+10) % 10 + '0');
}
sb.append(c);
}
return sb.toString();
}
}