需求:
某系统的数字密码(大于0) 比如1983,采用加密方式进行传输
规则如下:
每位数加上5
再对10求余
最后将所有数字反转得到一串新数。
加密:
分析:
- 把整数里面的每一位放到数组中
- 加密
- 把数组里面的每一个数字进行拼接,变成加密之后的结果
代码实现:
import java.util.Scanner public class Test6 { public static void main(String[] args) { //键盘录入密码 Scanner sc=new Scanner(System.in); System.out.println("请输入密码:"); int number = sc.nextInt(); //一.将数字转换到数组中 int temp=number;//number初始值 //1.获取数组长度count int count=0; while(number!=0){ //每循环一次就去掉最右边的数字 number=number/10; //循环一次计数器加一次 count++; } //2.将数字存入数组中 //动态分配(定义数组) int[] arr=new int[count]; for (int i = (count-1); i >=0; i--) { arr[i]=temp%10;//将个位数字赋给数组 temp=temp/10;//将个位数字删除 } //二.数组中每项加五 for (int i = 0; i < count; i++) { arr[i]+=5; } //三.每项对10求余 for (int i = 0; i < count; i++) { arr[i]=arr[i]%10; } //四.将所有数字反转 for (int i = 0,j=(count-1); i < j; i++,j--) { temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } //五.输出 //直接遍历输出数组 for (int i = 0; i < count; i++) { System.out.print(arr[i]); } } }
讯享网
结果实例:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/129174.html