JAVA 攻城獅 第十二天
阿新 • • 發佈:2019-01-26
今天是學習java的第十二天
然後今天差不多不留校的朋友們都回家了
回東北的坐上了開往北方的火車…….祝一路順風
慢慢的感受到了孤獨
早上起床之後去高數老師辦公室裝訂好了本學期的試卷
然後晚上到了暑假留校的出入證
好了 現在 暑假正式的開始了
開啟暑假模式
然後說一下今天的學習情況
中午和樊昊談論共享圖書app的事情 然後14號要去一趟杭州談app的事情
晚上回宿舍之後和室友玩了幾局lol
然後對 還是那樣 還是在晉級賽輸了
然後老老實實的滾回去看java了
今天看的是一個例項
關於對資料加密的問題
不多說廢話
上程式碼也算是今天的總結了吧
/*
某個公司採用公用電話傳遞資料資訊,資料是小於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;
...
*/
class JiaMiDemo {
public static void main(String[] args) {
//定義一個數據
int number = 123456;
//定義一個數組
int[] arr = new int[8];
//把資料中每一位上的資料獲取到後儲存到陣列中
/*
int index = 0;
arr[index] = number%10; //arr[0]=6;
index++;
arr[index] = number/10%10; //arr[1]=5;
index++;
arr[index] = mumber/10/10%10; //arr[2]=4;
*/
//通過觀察這個程式碼,我們發現應該是可以通過迴圈改進的
int index = 0;
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;
//輸出資料
for(int x=0; x<index; x++) {
System.out.print(arr[x]);
}
System.out.println();
}
}
老規矩 送給自己的話
別害怕失敗,只要你足夠強並且懂得怎麼去面對和處理失敗,這是你的第一次也是最後一次。