题目:某个公司采用公用电话传递数据,数据是四位的整数, 在传递过程中是加密的,加密规则如下: 每位数字都加上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; } }