加密问题(良心干货)

/*
需求:

  某个公司采用公用电话传递数据信息,数据是小于9位的整数,为了安全,

  在传递过程中需要加密,加密规则如下;

   首先将数据倒序,然后将每位数字都乘2,再用结果除以5的余数代替该数字,

   最后将第一位和最后一位数字交换。请任意给定一个小于9位数的整数,

   然后,把加密后的结果在控制台打印出来。


*/
import java.util.Scanner;
 class Jia{
  public static void main(String[]args){
   Scanner sc=new Scanner(System.in);
   System.out.println("请你输入一个九位数,我帮你加密");
   int number=sc.nextInt();
   System.out.println("你输入的数为:"+number);
   String jieguo=Fe(number);
   System.out.println("加密后的结果是:"+jieguo);
   
  }
  public static String Fe(int number){
      int[]x=new int[9];
   int y=0;
   while(number>0){
    x[y]=number%10;
    y++;
    number/=10;  
   }
   for(int a=0;a<y;a++){
    x[a]*=2;
    x[a]%=5;
   }
   int c=x[0];
   x[0]=x[y-1];
   x[y-1]=c;
   String s="";
   for(int a=0;a<y;a++){
    s+=x[a];
   }
   return s;
  }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值