题解 | #简单密码#

简单密码

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

重点1:熟悉char字符运算规则,熟悉int类型数字转char类型字符对应的条件

重点2:找规律,3个一组,特殊情况特殊处理

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String next = sc.next();
        char[] c = next.toCharArray();
        for (int i=0; i<c.length;i++) {
          // 小写转数字
          if(c[i]>= 'a' && c[i] <= 'r'){
              // +'0' 之前的结果为int2,3,要想得到 字符'2','3'。。。必须加上缺少的acall码对应的10进制数
              c[i]=(char)((c[i] -'a')/3+2+'0');
          // 小写特殊处理
          }else if(c[i] == 's'){
              c[i]= '7';
          }else if(c[i] >= 't' && c[i] <= 'u') {
              c[i] = (char) ((c[i] - 'a') / 3 + 2 + '0');
              //小写特殊处理
          }else if(c[i] == 'v') {
              c[i] = '8';
          }else if(c[i] >= 'w'&& c[i] <='z'){
              c[i] =  '9';
          // 大写转小写
          }else if(c[i] >= 'A' && c[i] <='Y'){
              c[i] = (char)(c[i]+32+1);
          // 大写特殊处理
          }else if(c[i] == 'Z'){
              c[i] =  'a';
          }
        }
        // 遍历新的字符数组
        for (char c1 : c) {
            System.out.print(c1);
        }

    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务