公司采用公用电话传递数据,数据小于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. WPF 3D:MeshGeometry3D的定义和光照

    原文 WPF 3D:MeshGeometry3D的定义和光照 由于WPF计算光照会根据整个平面的方向向量,所以如果在不同面上使用同一个点可能会达到不同的光照效果.让我们用不同的定义Mesh的方法来演示 ...

  2. APK ubuntu下 数字签名

    Android系统要求每个Android应用程序必需要经过数字签名才可以安装到系统中,也就是说假设一个Android应用程序没有经过数字签名,是没有办法安装到系统中的! Android通过数字签名来标 ...

  3. ajax方式提交带文件上传的表单,上传后不跳转

    ajax方式提交带文件上传的表单 一般的表单都是通过ajax方式提交,所以碰到带文件上传的表单就比较麻烦.基本原理就是在页面增加一个隐藏iframe,然后通过ajax提交除文件之外的表单数据,在表单数 ...

  4. 谷歌技术面试要点(Google面试)(14年5月20日交大专场)

    技术面试的主题 1.简要自我介绍: 姓名.学校.专业 做过的项目与实习 个人主要成就 2.技术评估: 构建与开发算法 编程 计算机基础知识 数据结构 现实世界问题解决能力 设计问题(主要针对博士生) ...

  5. python K-means工具包初解

    近期数据挖掘实验,写个K-means算法,写完也不是非常难,写的过程中想到python肯定有包,尽管师兄说不让用,只是自己也写完了,而用包的话,还不是非常熟,略微查找了下资料,学了下.另外,自己本身写 ...

  6. [渣译文] SignalR 2.0 系列: SignalR简介

    原文:[渣译文] SignalR 2.0 系列: SignalR简介 英文渣水平,大伙凑合着看吧,并不是逐字翻译的…… 这是微软官方SignalR 2.0教程Getting Started with ...

  7. Android 4.4环境搭建——Android SDK下载与安装

    学习开发Android应用程序,须要下载安装Android SDK.在Android的官方站点的二级域名http://developer.android.com/index.html中.能够下载到完整 ...

  8. String构造函数originalValue.length&gt;size 它发生

    最近观看Jdk6于String源代码被发现String这种施工方法有.源内容如下面: public String(String original) { int size = original.coun ...

  9. jconsole 连接 eclipse启动项

    eclipse 启动java项目默认情况下不开启jmx远程观看,假设需要看看内存使用情况对项目执行的线程等信息,能eclipse添加启动参数: -Dcom.sun.management.jmxremo ...

  10. phpword这个问题的产生中国扭曲

    采用phpword经word模板生成word当文件,乱码的问题.矿php和所有的数据库使用urf8编码格公式.解决的办法是,到场/phpword/template.php档,守则   $replace ...