import java.util.Scanner;
/**
* @author hll[yellowdradra@foxmail.com]
* @date 2022-09-29 17:28
**/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println(encrypt(in.nextLine()));
}
public static String encrypt(String info) {
char[] chars = info.toCharArray();
for (int i = 0; i < chars.length; i++) {
chars[i] = convert(chars[i]);
}
return String.valueOf(chars);
}
public static char convert(char c) {
if ('a' <= c && c <= 'r') {
return (char) (((c - 'a') / 3) + 'a');
}
if ('A' <= c && c <= 'Z') {
return (char) ((c - 'A' + 1) % 'Z' + 'a');
}
return switch (c) {
case 's' -> '7';
case 't', 'u', 'v' -> '8';
case 'w', 'x', 'y', 'z' -> '9';
default -> c;
};
}
}
牛客的JDK版本过低是不支持switch的这种写法的 如果要在牛客上运行 要把convert方法改成下面这样 个人觉得 上面这种switch写法优雅且易于理解和阅读
public static char convert(char c) {
char result = c;
if ('a' <= c && c <= 'r') {
return (char) (((c - 'a') / 3) + '2');
}
if ('A' <= c && c <= 'Z') {
return c == 'Z' ? 'a' : (char) (c + ('a' - 'A') + 1);
}
switch (c) {
case 's':
return '7';
case 't':
case 'u':
case 'v':
return '8';
case 'w':
case 'x':
case 'y':
case 'z':
return '9';
default:
break;
}
return result;
}

京公网安备 11010502036488号