某個公司採用公用電話傳遞數據信息,數據是小於8位的整數,為了確保安全,
在傳遞過程中需要加密,加密規則如下:
首先將數據倒序,然後將每位數字都加上5,再用和除以10的餘數代替該數字,
最後將第一位和最後一位數字交換。 請任意給定一個小於8位的整數,
然後,把加密後的結果在控制台打印出來。
題目要求:
A:數據是小於8位的整數
定義一個int類型的數據
int number = 123456;
B:加密規則
a:首先將數據倒序
結果654321
b:然後將每位數字都加上5,再用和除以10的餘數代替該數字
結果109876
c:最後將第一位和最後一位數字交換
結果609871
C:把加密後的結果輸出在控制台
通過簡單的分析,我們知道如果我們有辦法把這個數據變成數組就好了。
不是直接寫成這個樣子的:
int[] arr = {1,2,3,4,5,6};
如何把數據轉成數組呢?
A:定義一個數據
int number = 123456;
B:定義一個數組,這個時候問題就來了,數組的長度是多少呢?
int[] arr = new int[8]; //不可能超過8
在賦值的時候,我用一個變量記錄索引的變化。
定義一個索引值是0
int index = 0;
C:獲取每一個數據
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) {// 創建鍵盤錄入對象Scanner sc = new Scanner(System.in);// 請輸入一個數據System.out.println("請輸入一個數據(小於8位):");int number = sc.nextInt();// 寫功能實現把number進行加密// 調用String result = jiaMi(number);System.out.println("加密後的結果是:" + result);}/* * 需求:寫一個功能,把數據number實現加密。 兩個明確: 返回值類型:String 做一個字符串的拼接。 參數列表:int number */public static String jiaMi(int number) {// 定義數組int[] arr = new int[8];// 定義索引int index = 0;// 把number中的數據想辦法放到數組中while (number > 0) {arr[index] = number % 10;index++;number /= 10;}// 把每個數據加5,然後對10取得餘數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;// 把數組的元素拼接成一個字符串返回// 定義一個空內容字符串String s = "";for (int x = 0; x < index; x++) {s += arr[x];}return s;}}以上就是小編為大家帶來的Java簡單實現對一串數字採用相應的加密策略後傳輸的全部內容了,希望對大家有所幫助,多多支持武林網~