问题描述:对于一段数字我们要进行加密,加密要求如下
1.每位数字+5
2.对每位数字进行对10取余
3.将数字进行反转
举例 1983进行加密
1.每位数字+5 (6 14 13 8)
2.对每位数字进行对10取余 (6 4 3 8)
3.将数字进行反转 (8 3 4 6)
完整代码展示:
package com.text; import java.util.Scanner; public class text { int count=0; //计数 记录加密数字有几位数 int number=0; //记录加密后的数字 public int jiami(int num){ int temp1=num; while(num!=0){ num=num/10; count++; } int[] arr=new int[count]; //开辟数组对num进行录入 for (int i = count-1; i >=0; i--) { arr[i]=temp1%10; //从个位数开始录入到最后一个数组中 temp1=temp1/10; } for (int i = 0; i < arr.length; i++) { arr[i]=arr[i]+5; arr[i]=arr[i]%10; } for (int i = 0, j=arr.length-1; i < j; i++,j--) { int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } for (int i = 0; i < arr.length; i++) { number= number*10+arr[i]; } return number; } public void jiemi(int number){ int temp1=number; int[] arr=new int[count]; //开辟数组对number进行录入 for (int i = 0; i < arr.length; i++) { arr[i]=temp1%10; temp1=temp1/10; } for (int i = 0; i < arr.length; i++) { if(arr[i]<5) arr[i]+=10; } for (int i = 0; i < arr.length; i++){ arr[i]-=5; } System.out.print("解密后:"); for (int i = 0; i < arr.length; i++){ System.out.print(arr[i]); } } public static void main(String[] args) { text t=new text(); System.out.print("请输入要加加密的数:"); Scanner sc=new Scanner(System.in); int num=sc.nextInt(); System.out.println("加密后:"+t.jiami(num)); t.jiemi(t.number); } }
运行结果如下:
