牛客:HJ21 简单密码

java 复制代码
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);
        String s = in.nextLine();
        StringBuilder builder = new StringBuilder();
        int num = 'a' - 'A';
        for(int i = 0; i < s.length(); i++){
            char c = s.charAt(i);
            if(c >= 'a' && c <= 'c'){
                builder.append(2);
            } else if(c >= 'd' && c <= 'f'){
                builder.append(3);
            } else if(c >= 'g' && c <= 'i'){
                builder.append(4);
            } else if(c >= 'j' && c <= 'l'){
                builder.append(5);
            } else if(c >= 'm' && c <= 'o'){
                builder.append(6);
            } else if(c >= 'p' && c <= 's'){
                builder.append(7);
            } else if(c >= 't' && c <= 'v'){
                builder.append(8);
            } else if(c >= 'w' && c <= 'z'){
                builder.append(9);
            } else if(c >= 'A' && c < 'Z'){
                builder.append((char) (c + num + 1));
            } else if(c == 'Z'){
                builder.append('a');
            } else {
                builder.append(c);
            }
        }
        System.out.println(builder.toString());
    }
}

描述

规定这样一种密码的变换方法:

∙ ∙对于密码中的小写字母,参考九键手机键盘,将它们映射为对应的数字,具体地,abcabc 对应数字 22 、defdef 对应数字 33 、ghighi 对应数字 44 、jkljkl 对应数字 55 、mnomno 对应数字 66 、pqrspqrs 对应数字 77 、tuvtuv 对应数字 88 、wxyzwxyz 对应数字 99 ;

∙ ∙对于密码中的大写字母,先将其转换为小写,然后向后移动一位,即 ZZ 转换为 aa ,AA 转换为 bb ,BB 转换为 cc ,⋯⋯ ,YY 转换为 zz ,ZZ 转换为 aa 。

∙ ∙对于密码中的数字,保持不变。

现在,请你将给定的密码按照上述规则进行变换。

输入描述:

在一行上输入一个长度为 1≦length(s)≦1001≦length(s)≦100 的字符串 ss ,代表给定的密码。

输出描述:

在一行上输出一个字符串,代表变换后的密码。

思路:

1.一一对应按照题目要求;

2.大小写转换,不记得的话就直接减法计算

相关推荐
论文复现现场39 分钟前
DeepSeek V4.1 Flash 各平台价格怎么比?缓存、峰谷计费与 Python 成本计算
开发语言·python·缓存·大模型·成本优化·deepseek
小π军40 分钟前
C 和 C++ 是否都支持函数的重载?
java·c语言·c++
qq_4086068642 分钟前
确界的倒数性质证明
学习·算法
sp42a1 小时前
简单的 Spring 文件上传与下载组件
java·后端·spring
小蒋观天下1 小时前
【安防AI工程实战二】AI摄像头帧率抖动根治:ISP曝光时序与AI推理时序冲突深度定位
人工智能·深度学习·算法·安全·机器学习·ai大模型
步行cgn1 小时前
为什么 Spring 建议使用构造器注入?
java·后端·spring
Nefu_lyh1 小时前
【工作杂谈_20261012】数据平台与工程治理: Spark OOM 排查:Java Heap、Executor 与代码内存模型
java·大数据·spark
小蒜学长1 小时前
基于Vue.js + Spring Boot的酒店客房预订系统设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·酒店客房预订系统
ESDWAN1 小时前
海外股票网络环境优化与交易场景应用:从行情获取到交易系统稳定性设计
开发语言·网络·php