題目:某個公司采用公用電話傳遞數據,數據是四位的整數, 在傳遞過程中是加密的,加密規則如下: 每位數字都加上5,然后用和除以10的余數代替該數字,
再將第一位和第四位交換,第二位和第三位交換。
思路: 隨機產生一個四位數 使用方法來計算加密,並返回加密后的數字
public class 第四十八題數據加密 { public static void main(String[] args) { /* * 思路: 隨機產生一個四位數 使用方法來計算加密,並返回加密后的數字 */
int n = (int) (Math.random() * 9999 + 1); System.out.println("數字" + n + "加密后的數字為:" + encode(n)); } // 數字加密
public static int encode(int n) { int result = 0; int temp = 0; int ge = n % 10;// 個位
int shi = n / 10 % 10; // 十位
int bai = n / 100 % 10; // 百位
int qian = n / 1000; // 千位 // 進行取模運算
ge = (ge + 5) % 10; shi = (shi + 5) % 10; bai = (bai + 5) % 10; qian = (qian + 5) % 10; // 交換個位和千位
temp = ge; ge = qian; qian = temp; // 千幻十位和百位
temp = bai; bai = shi; shi = temp; result = 1000 * qian + 100 * bai + 10 * shi + ge; return result; } }