java中使用数组对数字进行简单的加密。
数字加密
需求:
某系统的数字密码:比如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(" ]");
代码核心逻辑来自黑马案例六
Original: https://www.cnblogs.com/zhangyouren/p/16402084.html
Author: Haziy
Title: 数字加密
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622555/
转载文章受原作者版权保护。转载请注明原作者出处!