簡單密碼

題目描述

密碼是咱們生活中很是重要的東東,咱們的那麼一點不能說的祕密就全靠它了。哇哈哈. 接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。

假設淵子原來一個BBS上的密碼爲zvbo9441987,爲了方便記憶,他經過一種算法把這個密碼變換成YUANzhi1987,
這個密碼是他的名字和出生年份,怎麼忘都忘不了,並且能夠明目張膽地放在顯眼的地方而不被別人知道真正的密碼。
pqrs--7, tuv--8 wxyz--9, 0--0,就這麼簡單,淵子把密碼中出現的小寫字母都變成對應的數字,數字和其餘的符號都不作變換,

聲明:密碼中沒有空格,而密碼中出現的大寫字母則變成小寫以後日後移一位,
如:X,先變成小寫,再日後移一位,不就是y了嘛,簡單吧。記住,z日後移是a哦。

輸入描述

輸入包括多個測試數據。輸入是一個明文,密碼長度不超過100個字符,輸入直到文件結尾

輸出描述

輸出淵子真正的密文

輸入例子

YUANzhi1987

輸出例子

zvbo9441987

算法實現

import java.util.Scanner;

/**
 * 
 * Declaration: All Rights Reserved !!!
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
//        Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));
        while (scanner.hasNext()) {
            String input = scanner.nextLine();
            System.out.println(encrypt(input));
        }

        scanner.close();
    }

    private static String encrypt(String input) {

        // 掩碼錶
        final char[][] mask = {
                {'2', '2', '2', '3', '3', '3', '4', '4', '4', '5', '5', '5', '6', '6', '6', '7', '7', '7', '7', '8', '8', '8', '9', '9', '9', '9'},
                {'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'a'}
        };

        char[] chars = input.toCharArray();

        for (int i = 0; i < chars.length; i++) {
            // 若是是小寫字母,就要轉變成數字符
            if (chars[i] >= 'a' && chars[i] <= 'z') {
                chars[i] = mask[0][chars[i] - 'a'];
            } else if (chars[i] >= 'A' && chars[i] <= 'Z') {
                chars[i] = mask[1][chars[i] - 'A'];
            }
        }


        return new String(chars);
    }
}
相關文章
相關標籤/搜索