要求:
系统密码是4位数
对密码中的每位数都加5,再对10求余,最后将所有数字顺序反转,得到一串加密后的新数
思路:
将四位数字密码拆分成一个个数字,存入到数组中去,遍历数组中的每个数字,按照要求加密,最后,将加密后的数字拼接返回即可
public static String encrypt(int num){
//1 将密码拆分一个个数字
int[] nums = split(num);
//2 遍历数组中的每个数字,对其进行加密
for (int i = 0; i < nums.length; i++) {
nums[i] = (nums[i] + 5) % 10;
}
//3 反转数据
reverse(nums);
//4 将加密后的数字拼接起来作为加密后的结果返回即可
String data = "";
for (int i = 0; i < nums.length; i++) {
data += nums[i];
}
return data;
}
public static void reverse(int[] nums) {
//反转数组
for (int i = 0,j = nums.length - 1; i < j; i++,j--) {
int temp = nums[j];
nums[j] = nums[i];
nums[i] = temp;
}
}
public static int[] split(int num) {
int[] nums = new int[4];
nums[0] = num / 1000;
nums[1] = (num / 100) % 10;
nums[2] = (num / 10) % 10;
nums[3] = num % 10;
return nums;
}