题解 | #简单密码#

简单密码

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

给字符串加密,输出密文,其实按照题目所说,只需要针对大小写字母加密,其他不变,那么就分三种情况:
1 输入的字符是大写,则变成小写再往后加1,除Z以外,其他字母都是原来的基础上偏移一位 c+33 ,Z的话直接输出a
2 输入的字符是小写,这里先把所有的小写字母放map里,然后采用流计算,获取到对应的key值,再从map中取到对应的数字
3 其他情况都输出原值

import java.util.*;
public class Main {
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                String str = sc.nextLine();
                char[] ch = str.toCharArray();
                HashMap<String,Integer> map = new HashMap<>();
                map.put("abc",2);
                map.put("def",3);
                map.put("ghi",4);
                map.put("jkl",5);
                map.put("mno",6);
                map.put("pqrs",7);
                map.put("tuv",8);
                map.put("wxyz",9);
                for(int i=0;i<ch.length;i++){
                    if(ch[i]>='a'&& ch[i]<='z'){
                        final Character cF =ch[i];
                        //流计算,从map中获得所有的key,成为一个set集合,然后看每个key值
                        //是否包含输入的这个字符,是的话,就随机打出来获取到这个key,然后再在map获取到值
                        String key = map.keySet().stream().filter(o->o.contains(cF.toString())).findAny().get();
                        System.out.print(map.get(key));
                    }else if(ch[i]>='A'&& ch[i]<='Z'){
                        if((ch[i]+32)=='z'){
                            System.out.print('a');
                        }else{
                            System.out.print((char)(ch[i]+33));
                        }
                    }else{
                        System.out.print(ch[i]);
                    }
                }
            }
        }
}
全部评论

相关推荐

11-28 17:48
中山大学 C++
点赞 评论 收藏
分享
沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务