package Base_se.Base_701;
import java.util.Scanner;
/**
* @author gyf
* @ClassName test
* @Date 2024/7/1 19:57
* @Version V1.0
* @Description : 数字加密
* 某系统的数字密码(大于0),比如1983,采用加密方式进行传输。
* 规则如下: 先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数
*/
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
int temp = number;
int index = 0;
int cout = 0;
// 判断输入值
while (true) {
if (number <= 0) {
System.out.println("输入有误,重新输入:");
number = scanner.nextInt();
} else {
System.out.println("输入正确");
break;
}
}
System.out.println("输入的值:" + number);
// 获得位数
while (number != 0) {
number = number / 10;
cout++;
}
System.out.println(cout);
// 初始化数组
int[] arr = new int[cout];
while (temp != 0) {
int ge = temp % 10;
// 去掉右边一位数字
temp = temp / 10;
arr[index] = ge;
index++;
}
for (int i = 0; i < arr.length; i++) {
arr[i] = getReverse(arr[i]);
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static int getReverse(int num) {
int newNumber = (num + 5) % 10;
return newNumber;
}
}
数据加密-mysql
2024-07-12 12:00:09 50 阅读