题解 | 简单密码

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    private static Map<String,String> map=new HashMap<>();
    static{
        map.put("1","1");
        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");
        map.put("0","0");
    }
    public static void main(String[] args) {
       Scanner scanner=new Scanner(System.in);
       while(scanner.hasNext()){
            String str=scanner.nextLine();
            char[] chars=str.toCharArray();
            StringBuffer buffer=new StringBuffer();
            for(char ch:chars){
                if(ch>='0'&&ch<='9'){//如果是数字的话就直接加入
                    buffer.append(String.valueOf(ch));
                }else if(ch>='A'&&ch<='Y'){//如果是大写字母的话就要转为小写字母
                    char newChar=(char)(ch+32+1);
                    buffer.append(String.valueOf(newChar));
                }else if(ch=='Z'){
                    buffer.append("a");
                }else{
                    Set<String> keys=map.keySet();//将map中的key都集合到set中
                    for(String k:keys){//遍历key
                        if(k.contains(String.valueOf(ch)))//如果ch包含在key当中
                            buffer.append(map.get(k));//将对应的数字加入到结果字符串中去
                    }
                }
            }
            System.out.print(buffer.toString());
       }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务