您的位置:首页 > 其它

数据加密---简单的int类型数据转化到一维数组中

2017-08-16 15:32 706 查看
/*
需求:
某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,
在传递过程中更需要加密,加密规则如下:
1.首先将数据倒序,
2.然后将每位数字都加上5,再用和除以10的余数代替该数字,
3.最后将第一位和最后一位数字交换。请任意给定一个小于8位的整数,
然后把加密后的结果在控制台打印出来

*/

package array2;

//导入键盘录入数据所需的Scanner包
import java.util.Scanner;
public class PhoneJiaMi {
public static void main(String[] args) {
//创建键盘录入对象
Scanner input = new Scanner(System.in);
System.out.println("请输入一个小于8位的整数:");
//键盘输入数据赋值给变量x
int x = input.nextInt();
System.out.println("-------------");

//调用方法实现加密
jiaMi(x);

}

//加密方法
public static void jiaMi(int number) {
//利用一维数组进行数据存放,以便后续操作
int index = 0;
//数组长度小于8
int[] array = new int[7];
while(number > 0) {
//从低位到高位依次求出每位数据
array[index] = number%10;
//数组下标递增
index++;
//剔除低位后剩余的数据
number/=10;
}
System.out.println("步骤1:");
//遍历输出
for(int i = 0;i<index;i++) {
System.out.print(array[i]);
}
System.out.println("\n-------------");

//步骤2的操作
for(int j = 0;j <index;j++) {
array[j] = (array[j]+5)%10;
}
System.out.println("步骤2:");
//遍历输出
for(int i = 0;i<index;i++) {
System.out.print(array[i]);
}
System.out.println("\n-------------");

//实现最后一位与第一位进行数值交换
//借用中间变量
int temp = array[0];
array[0] = array[index-1];
array[index-1] = temp;
System.out.println("步骤3:");
//遍历输出
for(int i = 0;i<index;i++) {
System.out.print(array[i]);
}
System.out.println("\n-------------");

System.out.print("数据加密后的结果为:");
for(int i = 0;i<index;i++) {
System.out.print(array[i]);
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐