基于Java解決華為機(jī)試之字符串加解密?
1.簡(jiǎn)述
描述:
- 1、對(duì)輸入的字符串進(jìn)行加解密,并輸出。
- 2、加密方法為:
當(dāng)內(nèi)容是英文字母時(shí)則用該英文字母的后一個(gè)字母替換,同時(shí)字母變換大小寫,如字母a時(shí)則替換為B;字母Z時(shí)則替換為a;
當(dāng)內(nèi)容是數(shù)字時(shí)則把該數(shù)字加1,如0替換1,1替換2,9替換0;
其他字符不做變化。
- 3、解密方法為加密的逆過(guò)程。
本題含有多組樣例輸入。
數(shù)據(jù)范圍:輸入的兩個(gè)字符串長(zhǎng)度滿足1 \le n \le 1000 \1≤n≤1000 ,保證輸入的字符串都是大小寫字母或者數(shù)字
輸入描述:
輸入說(shuō)明
- 輸入一串要加密的密碼
- 輸入一串加過(guò)密的密碼
輸出描述:
輸出說(shuō)明
- 輸出加密后的字符
- 輸出解密后的字符
2.示例1
輸入:
abcdefg BCDEFGH
輸出:
BCDEFGH
abcdefg
2.代碼實(shí)現(xiàn)
import java.util.Scanner;
public class Main{
? ? 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()));
? ? ? ? }
? ? }
? ? //加密函數(shù)
? ? private static String encode(String code){
? ? ? ? char[] t = code.toCharArray(); ? ?//將String對(duì)象轉(zhuǎn)換為字符數(shù)組
? ? ? ? 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);
? ? }
? ? //解密函數(shù)
? ? 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);
? ? }
}到此這篇關(guān)于基于Java解決華為機(jī)試之字符串加解密 的文章就介紹到這了,更多相關(guān)Java字符串加解密 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 基于Java解決華為機(jī)試實(shí)現(xiàn)密碼截取?
- ?基于Java解決華為機(jī)試之字符串合并處理實(shí)操
- java實(shí)現(xiàn)IP地址轉(zhuǎn)換
- Java實(shí)現(xiàn)IP地址到二進(jìn)制的轉(zhuǎn)換
- Java實(shí)現(xiàn)ip地址和int數(shù)字的相互轉(zhuǎn)換
- Java編程IP地址和數(shù)字相互轉(zhuǎn)換代碼示例
- 使用Java代碼將IP地址轉(zhuǎn)換為int類型的方法
- java實(shí)現(xiàn)ip地址與十進(jìn)制數(shù)相互轉(zhuǎn)換
- 基于Java解決華為機(jī)試實(shí)現(xiàn)整數(shù)與IP地址間的轉(zhuǎn)換?
相關(guān)文章
EVCache緩存在Spring Boot中的實(shí)戰(zhàn)示例
這篇文章主要介紹了EVCache緩存在Spring Boot中的實(shí)戰(zhàn)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
spring security與corsFilter沖突的解決方案
這篇文章主要介紹了spring security與corsFilter沖突的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Spring Cloud Gateway 記錄請(qǐng)求應(yīng)答數(shù)據(jù)日志操作
這篇文章主要介紹了Spring Cloud Gateway 記錄請(qǐng)求應(yīng)答數(shù)據(jù)日志操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
SpringBoot定時(shí)任務(wù)多線程實(shí)現(xiàn)示例
在真實(shí)的Java開(kāi)發(fā)環(huán)境中,我們經(jīng)常會(huì)需要用到定時(shí)任務(wù)來(lái)幫助我們完成一些特殊的任務(wù),本文主要介紹了SpringBoot定時(shí)任務(wù)多線程實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12
Spring創(chuàng)建BeanDefinition之路徑掃描詳解
這篇文章主要介紹了Spring創(chuàng)建BeanDefinition之路徑掃描方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
SpringBoot一個(gè)接口多個(gè)實(shí)現(xiàn)類的調(diào)用方式總結(jié)
這篇文章主要介紹了SpringBoot一個(gè)接口多個(gè)實(shí)現(xiàn)類的調(diào)用方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01
如何從Java環(huán)境中調(diào)用GoLang函數(shù)
Go,常被稱為GoLang,Go語(yǔ)言憑借其豐富的標(biāo)準(zhǔn)庫(kù),以及 goroutines和 channels等獨(dú)特特性,在開(kāi)發(fā)可擴(kuò)展且高效的程序方面展現(xiàn)了顯著優(yōu)勢(shì),許多開(kāi)發(fā)者傾向于將Go與其他編程語(yǔ)言結(jié)合使用,在本文中,我們將深入探討如何從Java環(huán)境中調(diào)用GoLang函數(shù),以實(shí)現(xiàn)兩種語(yǔ)言的無(wú)縫集成2025-01-01

