华为OD机试真题(Java),字符串加解密(100%通过+复盘思路)

news2024/11/19 22:41:31

在这里插入图片描述

一、题目描述

对输入的字符串进行加解密,并输出。

加密方法为:

当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;

当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;

其他字符不做变化。

解密方法为加密的逆过程。

数据范围:输入的两个字符串长度满足 1≤n≤1000 ,保证输入的字符串都是只由大小写字母或者数字组成

二、输入描述

第一行输入一串要加密的密码;
第二行输入一串加过密的密码;

三、输出描述

第一行输出加密后的字符;
第二行输出解密后的字符;

四、Java算法源码

public static void main(String[] args){
    Scanner in = new Scanner(System.in);
    while(in.hasNext()){
        System.out.println(encode(in.nextLine()));
        System.out.println(decode(in.nextLine()));
    }
}

//加密函数
private static String encode(String code){
    char[] t = code.toCharArray();
    for(int i=0; i < t.length; i++){
        if(t[i]>='a' && t[i]<'z')
            t[i] = (char)(t[i] - 'a' + 'A' + 1);
        else if(t[i] == 'z')
            t[i] = 'A';
        else if(t[i]>='A' && t[i]<'Z')
            t[i] = (char)(t[i] - 'A' + 'a' + 1);
        else if(t[i] == 'Z')
            t[i] = 'a';
        else if(t[i]>='0' && t[i]<'9')
            t[i] = (char)(t[i]+1);
        else if(t[i] == '9')
            t[i] = '0';
    }
    return String.valueOf(t);
}

//解密函数
private static String decode(String password){
    char[] t = password.toCharArray();
    for(int i=0; i < t.length; i++){
        if(t[i]>'a' && t[i]<='z')
            t[i] = (char)(t[i] - 'a' + 'A' - 1);
        else if(t[i] == 'a')
            t[i] = 'Z';
        else if(t[i]>'A' && t[i]<='Z')
            t[i] = (char)(t[i] - 'A' + 'a' - 1);
        else if(t[i] == 'A')
            t[i] = 'z';
        else if(t[i]>'0' && t[i]<='9')
            t[i] = (char)(t[i]-1);
        else if(t[i] == '0')
            t[i] = '9';
    }
    return String.valueOf(t);
}

五、效果展示

在这里插入图片描述

🏆本文收录于,华为OD机试2023(Java)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/454820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVAweb开发学习

六、MybatisPlus快速上手 数据库操作 注意&#xff01;注意&#xff01;注意&#xff01;springboot版本选择2.7.2 1.ORM介绍&#xff08;对象关系映射&#xff09; 既包含存储&#xff0c;又包含映射。将java类映射到数据库 2.MybatisPlus介绍 ORM框架 数据库操作来啦…

MySQL: 更改(删除)表名和字段

目录 自动添加表的属性&#xff1a; 更改表名和字段&#xff1a; 更改表名&#xff1a; 更改字段数据类型&#xff1a; 修改字段名&#xff1a; 添加字段&#xff1a; 删除字段&#xff1a; 修改字段排列位置&#xff1a; ​编辑 删除表的外键约束&#xff1a; 删除表&…

4月20日作业

#include <iostream> #include <cstring> using namespace std; //定义类 class myString { private: char *str; int size; public: //无参构造 myString():size(32) { str new char[size]; cout << "无参构造" << endl; } //有…

低代码开发重要工具:jvs-logic(逻辑引擎)能力扩展及代码集成

逻辑引擎动态加载执行 介绍下逻辑引擎如何实现配置规则的动态加载 逻辑引擎的规则动态加载是指在逻辑引擎运行时&#xff0c;可以根据特定的条件或触发事件&#xff0c;动态地加载或卸载规则的功能。这种功能可以帮助用户根据不同的业务需求或运行环境&#xff0c;快速调整或…

用python写游戏:《外星人入侵》给游戏添加记分功能

项目需求&#xff1a; 在游戏《外星人入侵》中&#xff0c;玩家控制着一艘最初出现在屏幕底部中央的飞船。玩家可以使用箭头键左右移动飞船&#xff0c;还可使用空格键进行射击。游戏开始时&#xff0c;一群外星人出现在天空中&#xff0c;他们在屏幕中向下移动。玩家的任务是射…

骨传导耳机的原理是什么,推荐几款热门的骨传导耳机

骨传导耳机的出现&#xff0c;彻底改变了传统耳机的音质、佩戴方式、听音体验&#xff0c;让我们能在享受音乐的同时&#xff0c;还能听到外界环境的声音&#xff0c;在开车、骑行、跑步时佩戴也非常安全。骨传导耳机作为新兴产品&#xff0c;已经进入了快速发展的阶段。今天我…

nodejs+vue 文旅旅游公司智能管理OA系统

通过本次设计&#xff0c;让我学到了更多的知识&#xff0c;而且在设计中会有一些问题出现&#xff0c;最后通过查阅资料和在老师和同学的帮助下完成了系统的设计和开发&#xff0c;使得这次系统的开发非常的有意义。同时通过这次系统的设计也让我明白了自己在哪方面有不足&…

把ChatGPT训练成你的得力助手

在调教chatgpt时&#xff0c;我们大部分的时候都需要一个好的学术翻译官&#xff0c;但是在他成为学术翻译官之前我们有很多规定要说明&#xff0c;比如不用回答我的问题&#xff0c;不用计算公式等。我将以下命令要求集成&#xff0c;在使用的时候只需要你发给它这段话&#x…

FL Studio有中文版吗?如何下载最新V21版本

FL Studio是一款功能强大的数字音频工作站&#xff08;DAW&#xff09;&#xff0c;它广泛应用于音乐创作和音乐制作领域。在使用FL Studio时本文将详细探讨FL Studio的功能特点的重要性。 一、FL Studio是什么软件 FL Studio是由比利时软件公司Image-Line开发的音…

电脑系统错误怎么办?您可以看看这5个方法!

案例&#xff1a;电脑出现系统错误该如何解决&#xff1f; 【这几天长时间使用我的电脑&#xff0c;导致它的系统出现了错误。有没有小伙伴知道如何解决电脑系统出错的问题&#xff1f;求一个能快速解决的方法。】 电脑系统出现错误是使用电脑时难免会遇到的问题之一&#xf…

性能测试(LoadRunner)

文章目录 1. 性能测试概述2. 常见的性能指标3. 性能测试的分类4. loadRunner 工具的介绍5. 使用 VUG4.1 打开 LR 自带的 web 系统4.2 编写性能测试脚本 6. 性能测试脚本的增强6.1 事务&#xff08;lr_start/end_transaction&#xff09;6.2 集合点&#xff08;lr_rendzvous&…

SpringCloudAlibaba服务注册与配置中心——Nacos

Nacos 本专栏学习内容来自尚硅谷周阳老师的视频 有兴趣的小伙伴可以点击视频地址观看 简介 Nacos是阿里巴巴推出的服务注册和配置中心。等价于EurekaConfigBus&#xff0c;可以替代Eureka做服务注册中心&#xff0c;替代Config做服务配置中心。官方文档 安装 关于Nacos的安装…

HBase进阶——文件的合并、 MemStore Flush、StoreFile Compaction、 Region Split、高可用与预分区介绍

系列文章目录 centos7虚拟机下hbase的使用案例讲解 hbase进阶操作——读流程与写流程介绍 centos7虚拟机在集群zookeeper上面配置hbase的具体操作步骤 文章目录 系列文章目录 一、HBase的架构原理 1、StoreFile 2、MemStore 3、WAL 二、HBase的shell操作 2.1、创建表…

pytest使用 一(安装、简单的测试用例、运行)

Pytest框架 — 1.Pytest测试框架介绍 - 知乎 2023最新pytest接口自动化测试框架&#xff0c;三天带你精通pytest&#xff0c;带你写出最好的代码&#xff01;&#xff08;已更新2023新版&#xff09;_哔哩哔哩_bilibili 一、pytest安装 pip3 install pytest # 查看pytest版本…

前端学习--Ajax(1) get/post

一、客户端和服务器 上网的目的&#xff1a;借助互联网获取和消费资源 1.1 服务器 负责存放和对外提供资源的计算机 1.2 客户端 负责获取和消费资源的计算机 二、URL地址 2.1 概念 Uniform Resource Locator 中文叫统一资源定位符&#xff0c;标识互联网上每一个资源的存…

(3)相关概念和索引的CURD

核心概念 https://www.elastic.co/guide/en/elasticsearch/reference/7.10/index.html 什么是搜索引擎&#xff1f; 全文搜索引擎 自然语言处理&#xff08;NLP&#xff09;、爬虫、网页处理、大数据处理。如谷歌、百度、搜狗、必应等等。 垂直搜索引擎 有明确搜索目的的…

脉诊在现代医学中的应用与局限性

目录 一、脉诊在疾病诊断中的作用及局限性 二、现代脉诊仪的可靠性 三、中医在现代医学中的地位 四、中西医结合的发展趋势 结论 一、脉诊在疾病诊断中的作用及局限性 脉诊作为中医诊断的重要方法之一&#xff0c;通过检测脉搏波的特征来了解患者的身体状况&#xff0c;进…

学习笔记:《Foundation models for generalist medical artificial intelligence》

目录 一、GMAI模型的概念与优势 二、GMAI模型面临的挑战 1.验证 2.社会偏见 3.隐私 4.规模 5.技术挑战 三、结论&#xff1a; 参考文献 最近在《Nature》杂志上发表的一篇名为《Foundation models for generalist medical artificial intelligence》的文章&#xff0c…

品牌如何借助江湖老大“音乐记忆”做宣传?

去年有个卖咖啡的小姐姐火了&#xff0c;“咖啡你冲不冲&#xff0c;冲冲冲冲冲”节奏分明、及其洗脑&#xff0c;引发众多网友模仿和音频采用。 其实这种借用音乐记忆扩大品牌知名度和传播范围的品宣手段十分常见&#xff0c;仔细回想一下&#xff0c;我们平时听到较为魔性的…

05-Node.js—http模块

目录 1、HTTP 协议1.1 概念1.2 请求报文的组成1.3 HTTP 的请求行1.4 HTTP 请求头1.5 HTTP 的请求体1.6 响应报文的组成 2、创建 HTTP 服务2.1 操作步骤2.2 测试2.3 注意事项 3、获取 HTTP 请求报文3.1 请求方法 request.method3.2 请求版本 request.httpVersion3.3 请求路径 re…