数字加密

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
每位数字都加上5,然后用和除以10的余数代替该数字,在将第一位和第四位交换,将第二位和第三位交换,请写出改加密程序。

观察:四位数字,每位数字基本独立,可以用数组进行表示,

步骤: 1,输入四位数字,将四位数字每一位分到长度为4数组里面
2,将数组里面每一位元素加上5
3,将每位再除以10,取余数存到数组里面
4,进行数组交换,利用索引来进行交换

有关求各个位数的的数值,先降位,然后再取其位数。比如:求十位的数值,则先降十位降成各位,然后再利用%10来求得其位数。

代码:

public static void main(String[] args) {
        // TODO Auto-generated method stub
        //第一步:
        System.out.println("输入一个四位数字:");
        Scanner scanner = new Scanner(System.in);
        int in = scanner.nextInt();
        int[] ar = new int[4];//存储每一位的数组
        ar[3]=in/1000%10;//取每一位的余数
        ar[2]=in/100%10;
        ar[1]=in/10%10;
        ar[0]=in%10;
        for(int i=0;i<4;i++) {
            ar[i]=ar[i]+5;//加5
            ar[i]=ar[i]%10;//除以十
        }
        int index;
        index = ar[0];
        ar[0]=ar[3];
        ar[3]=index;//第一位与第四位交换

        index = ar[1];
        ar[0]=ar[2];
        ar[2]=index;//第一位与第四位交换
        System.out.println("加密数字为:");
        for(int i=0;i<4;i++)
        System.out.print(ar[i]);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值