基于Java解決華為機試之字符串加解密?
1.簡述
描述:
- 1、對輸入的字符串進行加解密,并輸出。
- 2、加密方法為:
當內(nèi)容是英文字母時則用該英文字母的后一個字母替換,同時字母變換大小寫,如字母a時則替換為B;字母Z時則替換為a;
當內(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);
? ? }
}到此這篇關于基于Java解決華為機試之字符串加解密 的文章就介紹到這了,更多相關Java字符串加解密 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
EVCache緩存在Spring Boot中的實戰(zhàn)示例
這篇文章主要介紹了EVCache緩存在Spring Boot中的實戰(zhàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
spring security與corsFilter沖突的解決方案
這篇文章主要介紹了spring security與corsFilter沖突的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Spring Cloud Gateway 記錄請求應答數(shù)據(jù)日志操作
這篇文章主要介紹了Spring Cloud Gateway 記錄請求應答數(shù)據(jù)日志操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
Spring創(chuàng)建BeanDefinition之路徑掃描詳解
這篇文章主要介紹了Spring創(chuàng)建BeanDefinition之路徑掃描方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
SpringBoot一個接口多個實現(xiàn)類的調(diào)用方式總結(jié)
這篇文章主要介紹了SpringBoot一個接口多個實現(xiàn)類的調(diào)用方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01
如何從Java環(huán)境中調(diào)用GoLang函數(shù)
Go,常被稱為GoLang,Go語言憑借其豐富的標準庫,以及 goroutines和 channels等獨特特性,在開發(fā)可擴展且高效的程序方面展現(xiàn)了顯著優(yōu)勢,許多開發(fā)者傾向于將Go與其他編程語言結(jié)合使用,在本文中,我們將深入探討如何從Java環(huán)境中調(diào)用GoLang函數(shù),以實現(xiàn)兩種語言的無縫集成2025-01-01

