题解 | #简单密码#
简单密码
https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
import java.util.Scanner; import java.util.HashMap; import java.util.Map; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); Map<String, Integer> map = new HashMap<>(); map.put("1", 1); map.put("a", 2); map.put("b", 2); map.put("c", 2); map.put("d", 3); map.put("e", 3); map.put("f", 3); map.put("g", 4); map.put("h", 4); map.put("i", 4); map.put("j", 5); map.put("k", 5); map.put("l", 5); map.put("m", 6); map.put("n", 6); map.put("o", 6); map.put("p", 7); map.put("q", 7); map.put("r", 7); map.put("s", 7); map.put("t", 8); map.put("u", 8); map.put("v", 8); map.put("w", 9); map.put("x", 9); map.put("y", 9); map.put("z", 9); map.put("0", 0); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNext()) { // 注意 while 处理多个 case String str = in.nextLine(); StringBuilder sb = new StringBuilder(); for (char a : str.toCharArray()) { if (Character.isUpperCase(a)) { char low = Character.toLowerCase(a); if (low == 'z') { char c = (char) (low - 25); sb.append(c); } else { char c = (char) (low + 1); sb.append(c); } } else { String s = map.get(String.valueOf(a)) == null ? String.valueOf( a) : String.valueOf(map.get(String.valueOf(a))); sb.append(s); } } System.out.println(sb); } } }