将int转int数组并将int数组元素处理后转int,实现加密
2023-09-14 08:58:30 时间
package faceobject; import java.util.Arrays; public class Test { /** 加密问题 数据是小于8位的整数 先将数据倒序,然后将每位数字都加上5,再用除以10的余数代替该数据 然后将第一个和最后一个调换位置 */ public static void main(String[] args){ int x=123456; jiami1(x); System.out.println(); jiami2(x); } public static void iteratorArr(int[] arr){ for(int a:arr){ System.out.print(a); } } public static void jiami1(int x){ /** 将int转化成String,将String转化成char数组,将char数组中的每一个值转化成String再转成int再赋给新数组。 */ String s=String.valueOf(x); char[] c=s.toCharArray(); int[] arr=new int[c.length]; for(int i=0;i<arr.length;i++){ arr[i]=Integer.parseInt(String.valueOf(c[c.length-1-i]));; } for(int st:arr){ System.out.print(st); } int count=0; for(int i=0;i<arr.length;i++){ arr[i]=(arr[i]+5)%10; count+=arr[i]*Math.pow(10, arr.length-1-i); } //iteratorArr(arr); System.out.println(); int temp=arr[0]; arr[0]=arr[arr.length-1]; arr[arr.length-1]=temp; iteratorArr(arr); } public static void jiami2(int x){ int[] arr=new int[8]; int index=0; while(x>0){ arr[index]=x%10; x=x/10; index++; } for(int i=0;i<index;i++){ arr[i]=(arr[i]+5)%10; if(i==index-1){ int temp=arr[i]; arr[i]=arr[0]; arr[0]=temp; } } for(int i=0;i<index;i++){ System.out.print(arr[i]); } } }
相关文章
- C语言深入理解通过指针引用多维数组(指针中使用起始地址 元素地址 元素值的区分)...
- list,set,map,数组之间的相互转换详细解析
- (数组)只出现一次的数
- 【JAVA】java中char类型数组用数组名打印结果不是地址值而是数组内容
- 使用泛型去掉数组中的重复数字
- 977. 有序数组的平方 - 双指针
- LeetCode-2383. 赢得比赛需要的最少训练时长【贪心,数组】
- Atitit dsl对于数组的处理以及main函数的参数赋值
- JavaScript练习:创建数组。并使用 for...in 声明来循环输出数组中的元素
- 数组拆分(C++)
- 2419. 按位与最大的最长子数组-转化为求解最大值的子数组长度
- 1968. 构造元素不等于两相邻元素平均值的数组-快速排序
- Leetcode 1567. 乘积为正数的最长子数组长度(未解决)
- c++数组逆序
- C++创建和释放二维数组
- WideTableMultiDimSQLParser 解析说明:ClickHouse / Hive 数组交并差运算
- (四)js数组方法一