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的话就要另算了