import java.util.Scanner;
/**
* 数字加密
* 某系统的数字密码(大于0),比如1983,采用加密方式进行传输(输出为8346)。
* 规则如下:
* 先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数。
*/
public class DigitalEncryption {
public static void main(String[] args) {
int[] arr=encryption();
//int[] arr=judge();
//int num=number();
//System.out.println(num);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static int number(){
//输入数字密码
Scanner sc = new Scanner(System.in);
System.out.println("请输入数字密码");
int num;
while (true){
if (sc.hasNextInt()) {
num = sc.nextInt();
break;
}else {
System.out.print("您输入的不是数字,请输入数字:");
sc.next();
}
}
return num;
}
//录入数组
public static int[] judge(){
int num = number();
int count = 0 ;
int a = num;
while(true){
count++;
a = a/10;
if (a==0) {
break;
}
}
int[] arr = new int[count];
int b = num;
int c;
for (int i = 0; i < count; i++) {
c=b%10;b=b/10;
arr[count-1-i] = c;
}
return arr;
}
//加密
public static int[] encryption(){
int[] arr=judge();
int[] brr = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
arr[i]=(arr[i]+5)%10;
brr[brr.length-1-i]=arr[i];
}
return brr;
}
}
运行结果
请输入数字密码
1983
8
3
4
6
进程已结束,退出代码0