加密传输:
功能描述:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的。
加密规则是每位数字都加上5,然后再用除以10的余数代替该数字,再将第一位和第四位交换,
第二位和第三位交换。
编写一个程序,用于接收一个四位的整数,并且打印输出加密后的数。
这道我们可以采取数组加循环来做
红色部分是已知条件
根据条件,定义数组
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int[] a = new int[4];
System.out.print("请输入一个四位数的整数:");
int num = sc.nextInt();
int t = 0;
for (int i = a.length - 1; i >= 0; i--) {
a[i] = num % 10;
num /= 10;
}
for (int i = 0; i < a.length; i++) {
a[i] += 5;
a[i] %= 10;
}
for (int i = 0; i < a.length / 2; i++) {
if (i <= a.length / 2) {
t = a[i];
a[i] = a[a.length - i - 1];
a[a.length - i - 1] = t;
}
}
System.out.print("加密后的数字是:");
for (int b : a) {
System.out.print(b);
}
}
}
其中要注意的是
1.判断四位的整数
2.位数进行交换
明白这两点的代码就可以解决了。