題目描述
密碼是咱們生活中很是重要的東東,咱們的那麼一點不能說的祕密就全靠它了。哇哈哈. 接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。
假設淵子原來一個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);
}
}