公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。请编写程序输出加密以后的数据。提示:提示用户输入4位数的原始数据,如果不足4位,请用户重新输入 使用java
时间: 2024-04-07 20:34:01 浏览: 92
以下是使用Java编写的程序,用于加密四位整数数据:
```java
import java.util.Scanner;
public class DataEncryption {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int data;
do {
System.out.print("请输入4位整数数据:");
data = scanner.nextInt();
} while (data < 1000 || data > 9999);
int encryptedData = encryptData(data);
System.out.println("加密后的数据为:" + encryptedData);
}
private static int encryptData(int data) {
int[] digits = new int[4];
// 提取每一位数字
for (int i = 3; i >= 0; i--) {
digits[i] = data % 10;
data /= 10;
}
// 加密规则:每位数字加上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 encryptedData = 0;
for (int i = 0; i < 4; i++) {
encryptedData = encryptedData * 10 + digits[i];
}
return encryptedData;
}
}
```
请注意,该程序会提示用户输入一个4位整数数据,如果输入不符合要求,则要求用户重新输入。程序将按照加密规则对数据进行加密,并输出加密后的数据。
阅读全文