基于Java解決華為機試之字符串加解密?
1.簡述
描述:
- 1、對輸入的字符串進行加解密,并輸出。
- 2、加密方法為:
當(dāng)內(nèi)容是英文字母時則用該英文字母的后一個字母替換,同時字母變換大小寫,如字母a時則替換為B;字母Z時則替換為a;
當(dāng)內(nèi)容是數(shù)字時則把該數(shù)字加1,如0替換1,1替換2,9替換0;
其他字符不做變化。
- 3、解密方法為加密的逆過程。
本題含有多組樣例輸入。
數(shù)據(jù)范圍:輸入的兩個字符串長度滿足1 \le n \le 1000 \1≤n≤1000
,保證輸入的字符串都是大小寫字母或者數(shù)字
輸入描述:
輸入說明
- 輸入一串要加密的密碼
- 輸入一串加過密的密碼
輸出描述:
輸出說明
- 輸出加密后的字符
- 輸出解密后的字符
2.示例1
輸入:
abcdefg BCDEFGH
輸出:
BCDEFGH
abcdefg
2.代碼實現(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對象轉(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解決華為機試之字符串加解密 的文章就介紹到這了,更多相關(guān)Java字符串加解密 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Boot拓展XML格式的請求和響應(yīng)操作過程
在我們開發(fā)過程中,我們經(jīng)常使用的參數(shù)絕大多少事HTML和JSON格式的請求和響應(yīng)處理,但是我們在實際開發(fā)過程中,我們可能經(jīng)歷一些,比如對于XML格式的請求,本文給大家介紹Spring Boot拓展XML格式的請求和響應(yīng),感興趣的朋友一起看看吧2023-10-10Java實現(xiàn)猜數(shù)字小游戲(有次數(shù)限制)
這篇文章主要為大家詳細介紹了Java實現(xiàn)猜數(shù)字小游戲,有次數(shù)限制,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05java子類調(diào)用父類的方法中包含子類重寫的實例方法
在本篇文章里小編給大家整理了關(guān)于java子類調(diào)用父類的方法中包含子類重寫的實例方法以及相關(guān)知識點,需要的朋友們可以學(xué)習(xí)下。2019-09-09