题解 | #简单密码#

简单密码

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

import java.util.*;
import java.lang.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            String s=sc.nextLine();
            int n=s.length();
            Map<Character,Integer> map=new HashMap<>();
          //将小写字母对应的数字存放在map中
            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);
          //用于输出的sb
            StringBuilder sb=new StringBuilder();
            for(int i=0;i<n;i++){
              //当前字符是大写字母并且不是'Z'时,将字符+33
                if(Character.isUpperCase(s.charAt(i)) && s.charAt(i)!='Z'){
                    sb.append((char)(s.charAt(i)+33));
                }
              //是'Z'时,添加'a'
                else if(s.charAt(i)=='Z'){
                    sb.append("a");
                }
              //当时小写字母时,添加其对应的数字
                else if(Character.isLowerCase(s.charAt(i))){
                    sb.append(map.get(s.charAt(i)));
                }
              //当是其他字符时,直接将字符添加进来
                else{
                    sb.append(s.charAt(i));
                }
            }
            System.out.println(sb.toString());
        }
    }
}
全部评论

相关推荐

专心打鱼:互联网搬运工,贴子都要偷
点赞 评论 收藏
分享
hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务