题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
分析:例如原始数据是: 6 7 8 9(原始数据)
每个数加上5后为:11 12 13 14
除以10后为: 1 2 3 4
交换位置之后 4 3 2 1(加密后的数据)
1 public class Prog48{ 2 public static void main(String[] args){ 3 int n = 6789; 4 int[] a = new int[4]; 5 //取出整数的每一位数并存入数组 6 for(int i=3;i>=0;i--){ 7 a[i] = n%10; 8 n /= 10; 9 } 10 //输出原始数据 11 System.out.println("原始数据为"); 12 for(int i=0;i<4;i++) 13 System.out.print(a[i]); 14 System.out.println();//换行 15 //对数据进行加密 16 for(int i=0;i<a.length;i++){ 17 a[i] += 5; 18 a[i] %= 10; 19 } 20 int temp1 = a[0]; 21 a[0] = a[3]; 22 a[3] = temp1; 23 int temp2 = a[1]; 24 a[1] = a[2]; 25 a[2] = temp2; 26 //输出加密后的数据 27 System.out.println("加密后的数据为"); 28 for(int i=0;i<a.length;i++) 29 System.out.print(a[i]); 30 } 31 } 32 /*运行结果 33 原始数据为 34 6789 35 加密后的数据为 36 4321 37 */