簡單密碼
繞樹三匝,何枝可依,
背景:Java 在線編程機試刷題,
題目描述:
密碼是我們生活中非常重要的東東,我們的那么一點不能說的秘密就全靠它了,哇哈哈. 接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全,
假設淵子原來一個BBS上的密碼為zvbo9441987,為了方便記憶,他通過一種演算法把這個密碼變換成YUANzhi1987,這個密碼是他的名字和出生年份,怎么忘都忘不了,而且可以明目張膽地放在顯眼的地方而不被別人知道真正的密碼,
他是這么變換的,大家都知道手機上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就這么簡單,淵子把密碼中出現的小寫字母都變成對應的數字,數字和其他的符號都不做變換,,
宣告:密碼中沒有空格,而密碼中出現的大寫字母則變成小寫之后往后移一位,如:X,先變成小寫,再往后移一位,不就是y了嘛,簡單吧,記住,z往后移是a哦,
輸入描述:
輸入包括多個測驗資料,輸入是一個明文,密碼長度不超過100個字符,輸入直到檔案結尾,
輸出描述:
將這個整數以字串的形式逆序輸出,
示例1:
輸入:
YUANzhi1987輸出:
zvbo9441987Java代碼:
1 import java.util.Scanner;
2
3 public class Main{
4
5 public static void main(String [] args){
6 Scanner scan = new Scanner(System.in);
7 StringBuilder sb = new StringBuilder();
8 while(scan.hasNextLine()){
9 String input = scan.nextLine();
10 int length = input.length();
11 for(int i = 0; i < length; i++){
12 char temp = input.charAt(i);
13 // case大寫
14 if(Character.isUpperCase(temp)){
15 // 轉小寫
16 temp = Character.toLowerCase(temp);
17 if(temp == 'z'){
18 sb.append("a");
19 }else{
20 // 相鄰間差1
21 int tempInt = temp + 1;
22 char tempChar = (char)tempInt;
23 sb.append(tempChar);
24 }
25 }else if(Character.isLowerCase(temp)){
26 // case小寫
27 if(temp == 'a' || temp == 'b' || temp == 'c'){
28 sb.append("2");
29 }else if(temp == 'd' || temp == 'e' || temp == 'f'){
30 sb.append("3");
31 }else if(temp == 'g' || temp == 'h' || temp == 'i'){
32 sb.append("4");
33 }else if(temp == 'j' || temp == 'k' || temp == 'l'){
34 sb.append("5");
35 }else if(temp == 'm' || temp == 'n' || temp == 'o'){
36 sb.append("6");
37 }else if(temp == 'p' || temp == 'q' || temp == 'r' || temp == 's'){
38 sb.append("7");
39 }else if(temp == 't' || temp == 'u' || temp == 'v'){
40 sb.append("8");
41 }else{
42 sb.append("9");
43 }
44 }else{
45 // case數字
46 sb.append(temp);
47 }
48 }
49 }
50 System.out.print(sb.toString());
51 scan.close();
52 }
53
54 }
輸出驗證:

繞樹三匝
何枝可依
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/74604.html
標籤:Java
