公司采用公用电话传递数据,数据小于8整数位,为了确保安全,

    在转移的过程中需要加密,加密规则如下面的:

        第一个数据下降,附图然后各加5,和除以10的余数取代该数字,

        最后将第一位和最后一位数字交换。

请随意给定一个小于8位的整数,

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

        

    题目要求:

        A:数据是小于8位的整数

            定义一个int类型的数据

            int number = 123456;

        B:加密规则

            a:首先将数据倒序

                结果 654321

            b:然后将每位数字都加上5。再用和除以10的余数取代该数字

                结果 109876

            c:最后将第一位和最后一位数字交换

                结果 609871

        C:把加密后的结果输出在控制台

        

        通过简单的分析,我们知道假设我们有办法把这个数据变成数组就好了。

        不是直接写成这个样子的:

            int[] arr = {1,2,3,4,5,6};

            

        怎样把数据转成数组呢?

A:定义一个数据

                int number = 123456;

            B:定义一个数组,这个时候问题就来了,数组的长度是多少呢?

                int[] arr = new int[8]; //不可能超过8

                在赋值的时候。我用一个变量记录索引的变化。

                定义一个索引值是0

                int index = 0;

            C:获取每个数据

                int ge = number%10

                int shi = number/10%10

                int bai = number/10/10%10

                

                arr[index] = ge;

                index++;

                arr[index] = shi;

                index++;

arr[index] = bai;

源码:

import java.util.Scanner;

class JiaMiMain {
public static void main(String[] args) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in); // 请输入一个数据
System.out.println("请输入一个数据(小于8位):");
int number = sc.nextInt(); // 写功能实现把number进行加密
// 调用
String result = jiaMi(number);
System.out.println("加密后的结果是:" + result);
} /*
* 需求:写一个功能,把数据number实现加密。 两个明白: 返回值类型:String 做一个字符串的拼接。 參数列表:int number
*/
public static String jiaMi(int number) {
// 定义数组
int[] arr = new int[8]; // 定义索引
int index = 0; // 把number中的数据想办法放到数组中
while (number > 0) {
arr[index] = number % 10;
index++;
number /= 10;
} // 把每一个数据加5,然后对10取得余数
for (int x = 0; x < index; x++) {
arr[x] += 5;
arr[x] %= 10;
} // 把第一位和最后一位交换
int temp = arr[0];
arr[0] = arr[index - 1];
arr[index - 1] = temp; // 把数组的元素拼接成一个字符串返回
// 定义一个空内容字符串
String s = ""; for (int x = 0; x < index; x++) {
s += arr[x];
} return s;
}
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

数字使用相应的加密策略传递一个字符串后Java实现代码的更多相关文章

  1. 创建一个计算器的函数calc含有两个数字,调用函数的函数传递一个函数,分别是实现加减乘除

    function calc(num){ var n1=8; var n2=2; num(n1,n2); } //加 functiong jia(a,b){ console.log( a+b ); } ...

  2. 统计一个字符串中"java"出现的次数

    public class CountJava{ public static void main(String[] args){ String str = "dnajjavaNISLjavaE ...

  3. SSL/TLS/WTLS原理(密钥协商的形象化比喻:验证服务器的身份,用服务器的公钥协商加密格式,然后再加密具体的消息,TCP传递SSL处理后的数据)good

    一 前言 首先要澄清一下名字的混淆: 1 SSL(Secure Socket Layer)是netscape公司设计的主要用于web的安全传输协议.这种协议在WEB上获得了广泛的应用. 2 IETF( ...

  4. PHP加密解密数字,适用于URL加密。

    本博主最近正在建设一个9元包邮的网站,希望各位光临指导一些意见: 9元包邮 http://www.jiubaou.com/ <?php /** * 加密解密类 * 该算法仅支持加密数字.比较适用 ...

  5. JDK1.8.0_181的无限制强度加密策略文件变动(转载)

    JDK1.8.0_181的无限制强度加密策略文件变动 原文地址 https://my.oschina.net/my1313677/blog/3109613 作者 葉者 日常记录 2019/09/23 ...

  6. 介绍对称加密的另一个算法——PBE

    除了DES,我们还知道有DESede(TripleDES,就是3DES).AES.Blowfish.RC2.RC4(ARCFOUR)等多种对称加密方式,其实现方式大同小异,这里介绍对称加密的另一个算法 ...

  7. 【编程题目】n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始

    第 18 题(数组):题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字 0 开始,每次从这个圆圈中删除第 m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数字).当一个数字删除后, ...

  8. java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”

    在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断 ...

  9. Delphi动态事件深入分析(对象方法在调用的时候会传递一个隐含的Self指针,而该指针的值在EAX中。即左边第一个参数)

    Delphi动态事件深入分析 2009-2-7 作者:不得闲核心提示:本实验证明了在类中方法的调用时候,所有的方法都隐含了一个Self参数,并且该参数作为对象方法的第一个参数传递... 首先做一个空窗 ...

随机推荐

  1. lua5.1 和 5.2 关于 sequence 的定义变化,对#table取值的影响

    引子 环境 lua 5.2 a = {}   for i=1,2 do a[i] = i*3 end   a[4] = 11;   print(a[#a])   ---print 11 ------- ...

  2. (转)FFMPEG解码流程

    http://www.douban.com/note/228831821/ FFMPEG解码流程:     1. 注册所有容器格式和CODEC: av_register_all()     2. 打开 ...

  3. VS2010中使用CL快速 生成DLL的方法

    方案一: 1.命令行中输入cl example.cpp,生成example.obj和example.lib文件.有可能还会提示“没有入口点”的错误.这是因为我们的CPP中是要生成dll文件的,并没有m ...

  4. Makefile学习(一)[第二版]

    简单介绍 1)make:利用 make 工具能够自己主动完毕编译工作.这些工作包含:假设仅改动了某几个源文件,则仅仅又一次编译这几个源文件[make通过比对对应的.c文件与.o文件的时间];假设某个头 ...

  5. TRIZ系列-创新原理-22-变害为利原理

     变害为利原理的详细表述例如以下:1)利用有害的因素(特别是环境中的)获得积极的效果:   有害无害不过相对的(时间,空间,人),将有害的因素通过一定的处理和转化,能够变有害为实用,比方废品回收, ...

  6. 答读者问(8):相关Java问题涉及到学习

    近来的,我收到一个研究生朋友的电子邮件,一般内容如下面: 日 (本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,我们的聊天号码:245924426.欢 ...

  7. linux基础知识1

    1. 硬盘分区 分区类型:主分区,扩展分区.逻辑分区: 分区规则: 一个硬盘仅仅能有1到4个主分区: 一个硬盘仅仅能有1个扩展分区: 一个硬盘的主分区和扩展分区最多仅仅能有4个. 扩展分区仅仅能用来包 ...

  8. 开源NetWorkSocket通讯组件

    开源NetWorkSocket通讯组件   前言 在<化茧成蝶,开源NetWorkSocket通讯组件>发表之后,收到大家很多个star,在此感谢!更可贵的是,一些网友提出了许多好建议,经 ...

  9. Windows Phone 的控件倾斜效果

    原文:Windows Phone 的控件倾斜效果 Windows Phone 7的系统设置里,按钮都有一个点击倾斜的效果,但自己添加的控件就没有.但微软提供了这个效果的代码:TiltEffect MS ...

  10. gerrit git使用

    有关git的參考资料 pro git中文版, 最好的git书籍 http://git-scm.com/book/zh 图解git http://marklodato.github.com/visual ...