需求:
某系统的数字密码:比如1983,采用加密方式进行传输, // 规则如下:先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数。
实现代码:
package anli;
import java.util.Scanner;
public class Test6 {
public static void main(String[] args) {
//需求:某系统的数字密码:比如1983,采用加密方式进行传输,
// 规则如下:先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数。
Scanner scanner=new Scanner(System.in);
System.out.println("请输入要加密的数字个数:");
int n=scanner.nextInt();
int[] arr=datas(n);
System.out.println("公钥为:");
printArray(arr);
System.out.println("密钥为:");
printArray(jiami(arr));
}
//定义输入的方法,将数据存放于数组中
public static int[] datas(int n){
int[] data=new int[n];
Scanner scanner=new Scanner(System.in);
for (int i = 0; i < data.length; i++) {
System.out.println("请输入加密的第一个数据:");
data[i]= scanner.nextInt();
}
return data;
}
//定义加密的方法,输出加密后的数据
public static int[] jiami(int[] arr){
for (int i = 0; i < arr.length; i++) {
arr[i]=(arr[i]+5)%10;
}
//进行数组数据反转
int[] arr1=new int[arr.length];
for (int j = 0; j < arr1.length; j++) {
arr1[arr.length-1-j]=arr[j];
}
arr=arr1;
return arr;
}
//输出加密后的数据
public static void printArray(int[] arr){
System.out.print("[");
for (int i = 0; i < arr.length ; i++) {
System.out.print(i== arr.length-1?arr[i]:arr[i]+",");
}
System.out.println("]");
}
}
运行截图: