题解 | #简单密码#

简单密码

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

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String originalPassword = scan.nextLine(); // 获取最原始的密码
        HashMap<Character, Integer> CharacterToInteger = new HashMap<>(); // 定义一个 HashMap,用于存放每一个小写字母对应的数字
        int index = 0;
        for (int i = 2; i <= 9; i++) {
            if (i == 7 || i == 9) { // 如果当前的数字键为 7 或者为 9
                for (int j = 1; j <= 4; j++) {
                    CharacterToInteger.put((char) ('a' + index), i);
                    index++;
                }
            } else {
                for (int j = 1; j <= 3; j++) {
                    CharacterToInteger.put((char) ('a' + index), i);
                    index++;
                }
            }
        }
        char[] chrsPassword = originalPassword.toCharArray(); // 将字符串转换为 char 类型的数组
        StringBuffer changePassword = new StringBuffer(""); // 定义一个 StringBuffer,用于存放转换后的密码
        for (int i = 0; i < chrsPassword.length; i++) {
            char currentChar = chrsPassword[i]; // 获取当前的字符
            if (currentChar >= 'a' && currentChar <= 'z') { // 如果当前字符是小写字母,则将其转换为对应的数字
                int number = CharacterToInteger.get(currentChar);
                changePassword.append(number);
            } else if (currentChar >= 'A' && currentChar <= 'Z') { // 如果当前字符是大写字母,则将其向后移动一位后,再转换成小写字母
                if (currentChar == 'Z') {
                    currentChar = 'a';
                } else {
                    currentChar = (char) (currentChar + 1 + 32);
                }
                changePassword.append(currentChar);
            } else { // 如果当前字符不是大小字母中的任意一种,不需要进行转换
                changePassword.append(currentChar);
            }
        }
        System.out.println(changePassword);
    }
}
全部评论
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞 回复 分享
发布于 2022-04-20 16:38

相关推荐

11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务