入一个四位数,将其加密后输出。加密的规则如下:将该数每一位上的数字加9,然后除以10取余作为该位上的新数字,最后将千位和十位上的数字互换、百位和个位上的数字互换,组成加密后的新数字。高位若为0的也要输出的代码
时间: 2024-12-11 13:30:18 浏览: 44
你可以使用循环结构和一些简单的数学计算来实现这个加密过程。这里给出一个简单的Java代码示例:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个四位数:");
String input = scanner.nextLine();
int number = Integer.parseInt(input);
// 加密步骤
int encryptedNumber = encrypt(number);
// 输出结果
System.out.println("加密后的四位数:");
printNumber(encryptedNumber);
}
/**
* 加密四位数
*/
private static int encrypt(int number) {
int encrypted = 0;
int remainder;
// 分离四位数并转换为数组
int[] digits = new int[4];
for (int i = 3; i >= 0; i--) {
digits[i] = number % 10;
number /= 10;
}
// 加9并取余,交换千位和十位,百位和个位
for (int i = 0; i < 4; i++) {
remainder = (digits[i] + 9) % 10;
if (i == 0 || i == 2) { // 交换位置
encrypted = encrypted * 10 + remainder;
} else {
encrypted += remainder;
}
}
return encrypted;
}
/**
* 将整数转为带0的四位数形式打印
*/
private static void printNumber(int number) {
if (number < 1000) {
number = '0' + number;
} else if (number < 10000) {
number = number % 1000;
number = '0' + (number / 10) + (number % 10);
}
System.out.print(number);
}
}
```
当你运行此程序并输入一个四位数,它会按照提供的加密规则将其输出。
阅读全文