Java编写:某个公司采用公用电话传递数据数据是四位的整数在传递过程中是加密的加 密 规则如下:每位数字都加上 5然后用和除以 10 的余数代替该数字再将第一位和 第四位交换第二位和第三位交换
public class PhoneEncryption {
public static void main(String[] args) {
int originalNumber = 1234; // 待加密的数字
int encryptedNumber = encrypt(originalNumber); // 加密后的数字
System.out.println("原始数字为:" + originalNumber);
System.out.println("加密后的数字为:" + encryptedNumber);
}
/**
* 对整数进行加密
* @param number 待加密的数字
* @return 加密后的数字
*/
public static int encrypt(int number) {
int[] digits = new int[4]; // 将数字拆分成四位
digits[3] = number % 10;
digits[2] = (number / 10) % 10;
digits[1] = (number / 100) % 10;
digits[0] = number / 1000;
// 每位数字加上5,再将和除以10的余数代替该数字
for (int i = 0; i < 4; i++) {
digits[i] = (digits[i] + 5) % 10;
}
// 交换第一位和第四位,第二位和第三位
int temp = digits[0];
digits[0] = digits[3];
digits[3] = temp;
temp = digits[1];
digits[1] = digits[2];
digits[2] = temp;
// 合并四位数字为一个整数
int result = 0;
for (int i = 0; i < 4; i++) {
result = result * 10 + digits[i];
}
return result;
}
原文地址: https://www.cveoy.top/t/topic/cVCt 著作权归作者所有。请勿转载和采集!