Java簡單實現(xiàn)對一串數(shù)字采用相應的加密策略后傳輸
某個公司采用公用電話傳遞數(shù)據(jù)信息,數(shù)據(jù)是小于8位的整數(shù),為了確保安全,
在傳遞過程中需要加密,加密規(guī)則如下:
首先將數(shù)據(jù)倒序,然后將每位數(shù)字都加上5,再用和除以10的余數(shù)代替該數(shù)字,
最后將第一位和最后一位數(shù)字交換。 請任意給定一個小于8位的整數(shù),
然后,把加密后的結果在控制臺打印出來。
題目要求:
A:數(shù)據(jù)是小于8位的整數(shù)
定義一個int類型的數(shù)據(jù)
int number = 123456;
B:加密規(guī)則
a:首先將數(shù)據(jù)倒序
結果 654321
b:然后將每位數(shù)字都加上5,再用和除以10的余數(shù)代替該數(shù)字
結果 109876
c:最后將第一位和最后一位數(shù)字交換
結果 609871
C:把加密后的結果輸出在控制臺
通過簡單的分析,我們知道如果我們有辦法把這個數(shù)據(jù)變成數(shù)組就好了。
不是直接寫成這個樣子的:
int[] arr = {1,2,3,4,5,6};
如何把數(shù)據(jù)轉成數(shù)組呢?
A:定義一個數(shù)據(jù)
int number = 123456;
B:定義一個數(shù)組,這個時候問題就來了,數(shù)組的長度是多少呢?
int[] arr = new int[8]; //不可能超過8
在賦值的時候,我用一個變量記錄索引的變化。
定義一個索引值是0
int index = 0;
C:獲取每一個數(shù)據(jù)
int ge = number%10
int shi = number/10%10
int bai = number/10/10%10
arr[index] = ge;
index++;
arr[index] = shi;
index++;
arr[index] = bai;
源代碼:
import java.util.Scanner; class JiaMiMain { public static void main(String[] args) { // 創(chuàng)建鍵盤錄入對象 Scanner sc = new Scanner(System.in); // 請輸入一個數(shù)據(jù) System.out.println("請輸入一個數(shù)據(jù)(小于8位):"); int number = sc.nextInt(); // 寫功能實現(xiàn)把number進行加密 // 調用 String result = jiaMi(number); System.out.println("加密后的結果是:" + result); } /* * 需求:寫一個功能,把數(shù)據(jù)number實現(xiàn)加密。 兩個明確: 返回值類型:String 做一個字符串的拼接。 參數(shù)列表:int number */ public static String jiaMi(int number) { // 定義數(shù)組 int[] arr = new int[8]; // 定義索引 int index = 0; // 把number中的數(shù)據(jù)想辦法放到數(shù)組中 while (number > 0) { arr[index] = number % 10; index++; number /= 10; } // 把每個數(shù)據(jù)加5,然后對10取得余數(shù) for (int x = 0; x < index; x++) { arr[x] += 5; arr[x] %= 10; } // 把第一位和最后一位交換 int temp = arr[0]; arr[0] = arr[index - 1]; arr[index - 1] = temp; // 把數(shù)組的元素拼接成一個字符串返回 // 定義一個空內(nèi)容字符串 String s = ""; for (int x = 0; x < index; x++) { s += arr[x]; } return s; } }
以上就是小編為大家?guī)淼腏ava簡單實現(xiàn)對一串數(shù)字采用相應的加密策略后傳輸?shù)娜績?nèi)容了,希望對大家有所幫助,多多支持腳本之家~
相關文章
JAVA開發(fā)環(huán)境Vs?code配置步驟詳解
這篇文章主要為大家介紹了JAVA開發(fā)環(huán)境Vs?code配置步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04