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机试题:字符串加解密(大小写转化字符运算匹配)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-09百万架构师第十二课:源码分析:Spring 源码分析:Spring系统概述及IOC实现原理|JavaGuide
- 2025-01-08如何用关键链方法突破项目管理瓶颈?
- 2025-01-08电商人必看!6 款提升团队协作与客户满意度软件!
- 2025-01-08电商团队管理混乱?快用这 6 款软件优化协作流程!
- 2025-01-08短剧制作效率低?试试这5款任务管理工具
- 2025-01-08高效应对电商高峰,6 款团队协作软件大揭秘!
- 2025-01-08为什么外贸人都爱上了在线协作工具?
- 2025-01-08提升工作效率,从这些任务管理工具开始
- 2025-01-08新年电商订单暴增,必备的 6 款可视化协作办公软件有哪些?
- 2025-01-08短剧制作经理必备技能与工具全解析