问题描述
某个公司传递数据,数据是四位整数,在传递过程中需要进行加密的,加密规则如下:每位数字都加上5,然后除以10的余数代替该位数字。再将新生成数据的第一位和第四位交换,第二位和第三位交换。要求输入4位整数,输出加密后的4位整数。比如:输入一个四位整数1234,则输出加密结果为9876。
样例输入
1234
样例输出
9876
思路:
根据题目我们知道数据就是四位数,那就好办了。此题非常简单,切勿复杂化,代码能简便就简便。先将四位数每一位取出,在创建一个长度为4的数组,每一位在进行加5在求余,直接赋值给数组,注意要反向赋值,符合题意,直接输出即可。
public class AL_538 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int x=sc.nextInt();
int b1=x/1000%10;//千位
int b2=x/100%10; //百位
int b3=x/10%10; //十位
int b4=x%10; //个位
int[] arr=new int[4];
arr[3]=(b1+5)%10;//反向赋值,达到题目反转效果
arr[2]=(b2+5)%10;
arr[1]=(b3+5)%10;
arr[0]=(b4+5)%10;
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
}
}