import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
StringBuilder sb = new StringBuilder();
for(char c : s.toCharArray()){
if(Character.isLowerCase(c)){
switch(c){
case'a':case'b':case'c':
sb.append(2);
break;
case'd':case'e':case'f':
sb.append(3);
break;
case'g':case'h':case'i':
sb.append(4);
break;
case'j':case'k':case'l':
sb.append(5);
break;
case'm':case'n':case'o':
sb.append(6);
break;
case'p':case'q':case'r':case's':
sb.append(7);
break;
case't':case'u':case'v':
sb.append(8);
break;
case'w':case'x':case'y':case'z':
sb.append(9);
break;
}
}else if(Character.isUpperCase(c)){
c = Character.toLowerCase(c);
if(c == 'z'){
sb.append('a');
}else{
sb.append((char)(c+1));
}
}
if(Character.isDigit(c)){
sb.append(c);
}
}
s = sb.toString();
System.out.println(s);
}
}
这道题运用的就是Character库中的isLowercase,isUpperCase,isDigit函数来判断。然后呢字符后移一位,就需要(char)(c+1)但是如果c是z的话就要另算了



京公网安备 11010502036488号