3.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中数据加密,加密规则如下:每位数字都加上5,然后用所得结果除以10的余数代替该数字,再将第一位和第四位数交换,第二位和第三位数交换。用Java写出这段代码
时间: 2024-09-15 22:09:18 浏览: 88
这个加密过程实际上是对数字进行位操作的一种转换,我们可以将其拆分为几个步骤来编写Java代码。首先,我们需要获取输入的四位整数,然后依次对每一位加5并取余,接着交换位置。以下是相应的Java代码实现:
```java
public class DataEncryption {
public static void main(String[] args) {
int originalNumber = 1234; // 输入的四位整数
int encryptedNumber = encryptData(originalNumber);
System.out.println("原始数字:" + originalNumber);
System.out.println("加密后的数字:" + encryptedNumber);
}
private static int encryptData(int number) {
// 每位数字加5并取余
String strNumber = String.valueOf(number);
StringBuilder sb = new StringBuilder();
for (char digit : strNumber.toCharArray()) {
int sumAfterFive = Character.getNumericValue(digit) + 5;
sb.append(sumAfterFive % 10); // 取余并添加到StringBuilder
}
// 交换位
char firstLastChar = sb.charAt(0);
char thirdLastChar = sb.charAt(2);
sb.setCharAt(0, sb.charAt(2)); // 第一位和第四位交换
sb.setCharAt(2, firstLastChar);
// 转换回整数
int encryptedInt = Integer.parseInt(sb.toString());
return encryptedInt;
}
}
```
阅读全文