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 }

 

posted @ 2022-03-08 20:34  海漠  阅读(228)  评论(0编辑  收藏  举报