java中使用數(shù)組進行模擬加密的方法
現(xiàn)假設(shè)某個公司采用公用電話來傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的。
加密規(guī)則是每位數(shù)字都加上5,然后再用除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。
編寫一個程序,用于接收一個四位的整數(shù),并且打印輸出加密后的數(shù)。
這道題原本沒有要求必須使用數(shù)組,所以我們先是使用一種翻譯題目的方法完成這道題的,主要代碼如下:
public static void main(String[] args) { System.out.println("請輸入一個4位數(shù)字:"); Scanner sc=new Scanner(System.in); int n=0; int i=0; while(true){ n=sc.nextInt(); if(n<999||n>10000){ System.out.println("你輸入的數(shù)字不合法!請重新輸入"); }else{ break; } } int gewei=n%10; n/=10; int shiwei=n%10; n/=10; int baiwei=n%10; n/=10; gewei+=5; shiwei+=5; baiwei+=5; n+=5; int a=gewei%10; int b=shiwei%10; int c=baiwei%10; int d=n%10; int out=d*1000+c*100+b*10+a; System.out.println("加密后的數(shù)字是:"+out); }
完成后我們再嘗試一下用數(shù)組的方式去解決這道題,經(jīng)過多次嘗試以后實現(xiàn)該功能,其代碼如下:
public static void main(String[] args) { System.out.println("請輸入一個4位數(shù)字:"); Scanner sc=new Scanner(System.in); int n=0; int a=0; while(true){ n=sc.nextInt(); if(n<999||n>10000){ System.out.println("你輸入的數(shù)字不合法!請重新輸入"); }else{break;} } int[] m=new int[4]; for(int i=0;i<m.length;i++){ m[i]=n%10; n/=10; m[i]+=5; m[i]%=10; System.out.print(m[i]); } }
采用數(shù)組來完成這一功能核心的代碼只有一個for循環(huán),而且題目中的4位數(shù)這個條件可以輕易的改為5位6位或更多,而不需要過多的更改代碼。
相信本文所述示例對打擊學(xué)習(xí)Java的數(shù)組會帶來一定的借鑒價值。
- 詳解Java中實現(xiàn)SHA1與MD5加密算法的基本方法
- Java實現(xiàn)SSH模式加密
- java自帶的MessageDigest實現(xiàn)文本的md5加密算法
- Java實現(xiàn)DES加密與解密,md5加密以及Java實現(xiàn)MD5加密解密類
- java實現(xiàn)MD5加密方法匯總
- Java Web開發(fā)之MD5加密用法分析
- 實例講解java的純數(shù)字加密解密
- Java實現(xiàn)MD5加密的方法
- JAVA中AES加密方法實例分析
- Java生成非對稱型加密公鑰和私鑰的方法
- Java中使用異或運算符實現(xiàn)加密字符串
- 簡潔實用的Java Base64編碼加密異常處理類代碼
- 詳解DES加密算法及在Java程序中的使用示例
相關(guān)文章
spring Boot 應(yīng)用通過Docker 來實現(xiàn)構(gòu)建、運行、發(fā)布流程
這篇文章主要介紹了spring Boot 應(yīng)用通過Docker 來實現(xiàn)構(gòu)建、運行、發(fā)布流程,圖文詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-11-11因Spring AOP導(dǎo)致@Autowired依賴注入失敗的解決方法
這篇文章主要給大家介紹了因Spring AOP導(dǎo)致@Autowired依賴注入失敗的解決方法,文中通過示例代碼給大家介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07jenkins 構(gòu)建項目之 pipeline基礎(chǔ)教程
​pipeline ,簡單來說,就是一套運行在 jenkins 上的工作流框架。這篇文章主要介紹了jenkins 構(gòu)建項目之 pipeline基礎(chǔ)教程,需要的朋友可以參考下2020-07-07spring+maven實現(xiàn)發(fā)送郵件功能
這篇文章主要為大家詳細(xì)介紹了spring+maven實現(xiàn)發(fā)送郵件功能,利用spring提供的郵件工具來發(fā)送郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07Java設(shè)計模式七大原則之合成復(fù)用原則詳解
合成復(fù)用原則(Composite Reuse Principle),即盡量使用組合/聚合的方式,而不是使用繼承。本文將為大家具體介紹一下Java設(shè)計模式七大原則之一的合成復(fù)用原則,需要的可以參考一下2022-02-02Java中的Set、List、Map的用法與區(qū)別介紹
這篇文章主要介紹了Java中的Set、List、Map的用法與區(qū)別,需要的朋友可以參考下2016-06-06使用spring?data的page和pageable如何實現(xiàn)分頁查詢
這篇文章主要介紹了使用spring?data的page和pageable如何實現(xiàn)分頁查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Java Socket實現(xiàn)猜數(shù)字小游戲
這篇文章主要為大家詳細(xì)介紹了Java Socket實現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-09-09