1. 程式人生 > 其它 >java題目 HJ29 字串加解密

java題目 HJ29 字串加解密

描述

1、對輸入的字串進行加解密,並輸出。

2、加密方法為:

當內容是英文字母時則用該英文字母的後一個字母替換,同時字母變換大小寫,如字母a時則替換為B;字母Z時則替換為a;

當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0;

其他字元不做變化。

3、解密方法為加密的逆過程。 資料範圍:輸入的兩個字串長度滿足 1 \le n \le 1000 \1n1000  ,保證輸入的字串都是大小寫字母或者數字

輸入描述:

輸入說明
輸入一串要加密的密碼
輸入一串加過密的密碼

輸出描述:

輸出說明
輸出加密後的字元
輸出解密後的字元

示例1

輸入:
abcdefg
BCDEFGH
輸出:
BCDEFGH
abcdefg

 1 import java.io.*;
 2 import java.util.*;
 3 
 4 public class Main {
 5     public static void main(String[] args) throws IOException {
 6         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 7         String s ="";
 8         while((s = br.readLine()) != null
) { 9 char[] ch = s.toCharArray(); 10 StringBuilder sb = new StringBuilder(); 11 12 //加密過程 13 for(int i =0; i<ch.length;i++) { 14 if(ch[i] >= 'a' && ch[i] < 'z'){ 15 ch[i] = (char)(ch[i] -('a' - 'A') + 1);
16 } else if(ch[i] == 'z') { 17 ch[i] = 'A'; 18 } else if(ch[i] >= 'A' && ch[i] < 'Z') { 19 ch[i] = (char)(ch[i] + 'a' - 'A' + 1); 20 } else if(ch[i] == 'Z') { 21 ch[i] = 'a'; 22 } else if(ch[i] >='0' && ch[i] <'9') { 23 ch[i] = (char)(ch[i] + 1); 24 } else if(ch[i] == '9') { 25 ch[i] = '0'; 26 } 27 sb.append(ch[i]); 28 } 29 System.out.println(sb.toString()); 30 31 //解密過程 32 char[] jie = br.readLine().toCharArray(); 33 StringBuilder strjie = new StringBuilder(); 34 for(int i =0; i<jie.length;i++) { 35 if(jie[i] >= 'b' && jie[i] <= 'z'){ 36 jie[i] = (char)(jie[i] -('a' - 'A') - 1); 37 } else if(jie[i] == 'a') { 38 jie[i] = 'Z'; 39 } else if(jie[i] >= 'B' && jie[i] <= 'Z') { 40 jie[i] = (char)(jie[i] + 'a' - 'A' - 1); 41 } else if(jie[i] == 'A') { 42 jie[i] = 'z'; 43 } else if(jie[i] >='1' && jie[i] <='9') { 44 jie[i] = (char)(jie[i] - 1); 45 } else if(jie[i] == '0') { 46 jie[i] = '9'; 47 } 48 strjie.append(jie[i]); 49 } 50 System.out.println(strjie.toString()); 51 } 52 } 53 }