题解 | #简单密码#
简单密码
https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
import java.util.HashMap; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { String pwd = new Scanner(System.in).nextLine(); HashMap<Character, Integer> charNumMapper = new HashMap<>(); { charNumMapper.put('a', 2); charNumMapper.put('b', 2); charNumMapper.put('c', 2); charNumMapper.put('d', 3); charNumMapper.put('e', 3); charNumMapper.put('f', 3); charNumMapper.put('g', 4); charNumMapper.put('h', 4); charNumMapper.put('i', 4); charNumMapper.put('j', 5); charNumMapper.put('k', 5); charNumMapper.put('l', 5); charNumMapper.put('m', 6); charNumMapper.put('n', 6); charNumMapper.put('o', 6); charNumMapper.put('p', 7); charNumMapper.put('q', 7); charNumMapper.put('r', 7); charNumMapper.put('s', 7); charNumMapper.put('t', 8); charNumMapper.put('u', 8); charNumMapper.put('v', 8); charNumMapper.put('w', 9); charNumMapper.put('x', 9); charNumMapper.put('y', 9); charNumMapper.put('z', 9); } StringBuilder sb = new StringBuilder(); for (int i = 0; i < pwd.length(); i++) { char c = pwd.charAt(i); if (c >= 'A' && c <= 'Z') { sb.append(c == 'Z' ? 'a' : (char) ((c ^ 32) + 1)); } else if (c >= 'a' && c <= 'z') { sb.append(charNumMapper.get(c)); } else { sb.append(c); } } System.out.println(sb); } }