1. 某公司采用公用电话传递数据,数据是4位整数,在传递过程中是加密的,加密规则如下:每位上的数字加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,编写一个程序,用于接受一个4位整数,并且打印输出加密后的数字
代码如下所示:
public static void main(String[] args) {
int[] arr1 = new int[4]; //定义一个数组接收加密前的数据
int[] arr2 = new int[4]; //定义另一个数组接收加密后的数据
Scanner sc = new Scanner(System.in);
for (int i=0;i<arr1.length;i++){ //数据数据
System.out.print("请输入第"+(i+1)+"个数:");
arr1[i] = sc.nextInt();
}
System.out.println("加密前的数字为:"+Arrays.toString(arr1)); //用字符串的形式把加密前的数组打印出来
for (int i=0;i<arr1.length;i++){ //把每位上的数字加上5,然后对10取余
arr2[i] = (arr1[i]+5)%10;
}
for (int i=0;i<arr2.length/2;i++){ //将第一位和第四位交换,第二位和第三位交换
int temp = arr2[i];
arr2[i] = arr2[arr2.length-1-i];
arr2[arr2.length-1-i] = temp;
}
System.out.println("加密后的数字为:"+Arrays.toString(arr2)); //用字符串的形式把加密后的数组打印出来
}
效果图如下图所示: