J_DecodePassword.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package aoj.contest1399;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.Scanner;
  5. public class J_DecodePassword {
  6. private static String abc = "abcdefghijklmnopqrstuvwxyz";
  7. private static String[] map = {"0", "1", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
  8. public static void main(String[] args) {
  9. Scanner in = new Scanner(System.in);
  10. while (in.hasNext()) {
  11. String password = in.nextLine();
  12. StringBuffer p = new StringBuffer(password);
  13. for (int i = 0; i < password.length(); i++) {
  14. char ch = password.charAt(i);
  15. if (Character.isLowerCase(ch)) {
  16. for (int j = 0; j < map.length; j++) {
  17. if (map[j].contains(Character.toString(ch)))
  18. p.setCharAt(i, String.valueOf(j).charAt(0));
  19. }
  20. } else if (Character.isUpperCase(ch)) {
  21. ch = Character.toLowerCase(ch);
  22. for (int j = 0; j < abc.length(); j++) {
  23. if (ch == abc.charAt(j)) {
  24. ch = abc.charAt((j + 1) % 26);
  25. p.setCharAt(i, ch);
  26. break;
  27. }
  28. }
  29. p.setCharAt(i, ch);
  30. }
  31. }
  32. System.out.println(p.toString());
  33. }
  34. in.close();
  35. }
  36. }