题解 | #简单密码#
简单密码
https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
朴实无华的解法。。。
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 sc = new Scanner(System.in); String input = sc.nextLine(); StringBuffer sb = new StringBuffer(); Map<Character, 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); for (int i = 0; i < input.length(); i++) { char ch = input.charAt(i); if (Character.isLowerCase(ch)) { sb.append(map.get(ch)); } else if (ch == 'Z') { sb.append('a'); } else if (Character.isUpperCase(ch)) { char transCh = (char)(Character.toLowerCase(ch) + 1); sb.append(transCh); } else { sb.append(ch); } } System.out.println(sb); } }