程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> java中使用數組進行模擬加密的方法

java中使用數組進行模擬加密的方法

編輯:JAVA編程入門知識

現假設某個公司采用公用電話來傳遞數據,數據是四位的整數,在傳遞過程中是加密的。

加密規則是每位數字都加上5,然後再用除以10的余數代替該數字,再將第一位和第四位交換,第二位和第三位交換。

編寫一個程序,用於接收一個四位的整數,並且打印輸出加密後的數。

這道題原本沒有要求必須使用數組,所以我們先是使用一種翻譯題目的方法完成這道題的,主要代碼如下:

public static void main(String[] args) {

  System.out.println("請輸入一個4位數字:");
  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("你輸入的數字不合法!請重新輸入");
      }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("加密後的數字是:"+out);
}

完成後我們再嘗試一下用數組的方式去解決這道題,經過多次嘗試以後實現該功能,其代碼如下:

public static void main(String[] args) {
System.out.println("請輸入一個4位數字:");
    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("你輸入的數字不合法!請重新輸入");
        }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]);
    } 
}

采用數組來完成這一功能核心的代碼只有一個for循環,而且題目中的4位數這個條件可以輕易的改為5位6位或更多,而不需要過多的更改代碼。

相信本文所述示例對打擊學習Java的數組會帶來一定的借鑒價值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved