数字加密
数字加密
需求:
某系统的数字密码:比如1983,采用加密方式进行传输,规则如下:
先得到每位数,然后每位数都加上5,再对10取余,最后将所有的数字反转,得到一组新数。
核心逻辑:
- 1.定义两个变量分别占数组的首位位置。
- 2.一个变量往前走,一个变量往后走,同步交换双方的位置处的值。
打码展示:
//1.定义一个输入存入需要加密的数字
System.out.println("请输入所加密数字个数:");
Scanner scanner = new Scanner(System.in);
int length =scanner.nextInt();
int[] arr = new int[length];
//2.录入需要加密数字
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入加密的第"+(i+1)+"个数字");
int number = scanner.nextInt();
arr[i] = number;
}
//3.打印加密前得数据
System.out.println("加密前的数据:");
printArray(arr);
System.out.println();
//4.核心逻辑(对数组中的数据进行加密)
for (int i = 0; i < arr.length; i++) {
arr[i] = (arr[i] + 5) % 10;
}
//5.核心逻辑(对数组中加密数据进行反转得到结果)
for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
//直接交换左右对应位置的值
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
System.out.println("加密后的数据:" );
printArray(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.print(" ]");
代码核心逻辑来自黑马案例六
本文来自博客园,作者:Haziy,转载请注明原文链接:https://www.cnblogs.com/zhangyouren/p/16402084.html
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。