【华为机试022】简单密码破解

题目描述:

他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,

 

声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。

Java实现:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String input = sc.nextLine();
            char[] inchar = input.toCharArray();
            for (int i = 0; i < inchar.length; i++) {
                if (inchar[i] == 'a' || inchar[i] == 'b' || inchar[i] == 'c') {
                    inchar[i] = '2';
                }else if (inchar[i] == 'd' || inchar[i] == 'e' || inchar[i] == 'f') {
                    inchar[i] = '3';
                }else if (inchar[i] == 'g' || inchar[i] == 'h' || inchar[i] == 'i') {
                    inchar[i] = '4';
                }else if (inchar[i] == 'j' || inchar[i] == 'k' || inchar[i] == 'l') {
                    inchar[i] = '5';
                }else if (inchar[i] == 'm' || inchar[i] == 'n' || inchar[i] == 'o') {
                    inchar[i] = '6';
                }else if (inchar[i] == 'p' || inchar[i] == 'q' || inchar[i] == 'r' || inchar[i] == 's') {
                    inchar[i] = '7';
                }else if (inchar[i] == 't' || inchar[i] == 'u' || inchar[i] == 'v') {
                    inchar[i] = '8';
                }else if (inchar[i] == 'w' || inchar[i] == 'x' || inchar[i] == 'y' || inchar[i] == 'z') {
                    inchar[i] = '9';
                }else if (inchar[i] >= 'A' && inchar[i] < 'Z') {
                    inchar[i] =(char)(inchar[i] + 33);
                }else if (inchar[i] == 'Z') {
                    inchar[i] = 'a';
                }
            }
            System.out.println(String.valueOf(inchar));
        }
    }
}

知识点:

  • ASCII表中48~57为0到9十个阿拉伯数字,65~90为26个大写英文字母,97~122号为26个小写英文字母
  • 字符和数字相加后需要强制类型转换才能赋值给字符变量
  • String类中的静态valueOf()方法可以将字符数组转换为字符串

猜你喜欢

转载自blog.csdn.net/heyiamcoming/article/details/80476328
今日推荐