Java机试题:字符串加解密(大小写转化字符运算匹配)
2022/1/16 12:33:50
本文主要是介绍Java机试题:字符串加解密(大小写转化字符运算匹配),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
描述
1、对输入的字符串进行加解密,并输出。
2、加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
3、解密方法为加密的逆过程。 本题含有多组样例输入。 数据范围:输入的两个字符串长度满足 ,保证输入的字符串都是大小写字母或者数字输入描述:
输入说明
输入一串要加密的密码
输入一串加过密的密码
输出描述:
输出说明
输出加密后的字符
输出解密后的字符
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { String str = sc.nextLine(); // 加密 encode(str); // 解密 String str1 = sc.nextLine(); decode(str1); } } private static void decode(String str) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < str.length(); i++) { String temp = String.valueOf(str.charAt(i)); if(temp.matches("[a-zA-Z]+")) { if(str.charAt(i) == 'A') { sb.append('z'); } else if(str.charAt(i) == 'a') { sb.append('Z'); } else { char info = (char) (str.charAt(i) - 1); if(String.valueOf(info).matches("[a-z]")) { sb.append(String.valueOf(info).toUpperCase()); } else { sb.append(String.valueOf(info).toLowerCase()); } } } else { if(str.charAt(i) == '0') { sb.append('9'); } else { char info = (char) (str.charAt(i) - 1); sb.append(info); } } } System.out.println(sb.toString()); } private static void encode(String str) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < str.length(); i++) { String temp = String.valueOf(str.charAt(i)); if(temp.matches("[a-zA-Z]")) { if(str.charAt(i) == 'Z') { sb.append('a'); } else if(str.charAt(i) == 'z') { sb.append('A'); } else { char info = (char) (str.charAt(i) + 1); if(String.valueOf(info).matches("[a-z]")) { sb.append(String.valueOf(info).toUpperCase()); } else { sb.append(String.valueOf(info).toLowerCase()); } } } else { if(str.charAt(i) == '9') { sb.append('0'); } else { char info = (char) (str.charAt(i) + 1); sb.append(info); } } } System.out.println(sb.toString()); } }
题目来源:牛客网
这篇关于Java机试题:字符串加解密(大小写转化字符运算匹配)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南