题解 | 简单密码

简单密码

https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String pwd = in.nextLine().trim();
            if ("exit".equalsIgnoreCase(pwd)) {
                break;
            } else if (pwd.isEmpty()) {
                continue;
            } else {
                System.out.println(converPwd(pwd));
            }
        }
    }
    private static final char[] chars = "22233344455566677778889999".toCharArray();
    //密码转换
    private static String converPwd(String pwd) {
        StringBuilder sb = new StringBuilder(pwd.length());
        for (int i = 0; i < pwd.length(); i++) {
            char c = pwd.charAt(i);
            //小写直接转为数字
            if (Character.isLowerCase(c)) {
                sb.append(chars[c - 'a']);
            } else if (Character.isUpperCase(c)) { //大写先转小写,再转数字
                c = Character.toLowerCase(c);
                if (c == 'z') {
                    c = 'a';
                } else {
                    c++;
                }
                sb.append(c);
            } else {
                sb.append(c);
            }
        }
        return sb.toString();
    }

}

全部评论

相关推荐

zaakfung:26届不应该春招吗 为啥还实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务