黑马程序员技术交流社区
标题:
java做的一个加密程序
[打印本页]
作者:
ToGame
时间:
2015-9-15 17:54
标题:
java做的一个加密程序
加密规则:
首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,
最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数,
然后,把加密后的结果在控制台打印出来。
程序思路:
1:输入一个要加密的数字
2:计算出这个数字有多少位数
3:将每位数字倒序放入数组中
4:每位数字都加上5,再用和除以10的余数代替该数字 a=(a+5)%10
5: 将第一位和最后一位数字交换
6: 输出加密后的数字
程序代码:
主方法:
调用加密和解密方法,提示用户输入内容
public static void main(String[] args)
{
while(true)
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入您需要加密的内容:");
int number = sc.nextInt();
encrypt(number);
}
}
封装的加密方法:
public static void encrypt(int number)
{
//调用计算位数的方法保存到a数组中
int order=getOrder(number);
int[] a=new int[order];
//取出每位数的数值,存到数组a中
int count = number;
int res=0;
for(int i=0;i<order;i++)
{
res=count%10;
count/=10;
a[i]=res;
}
//对每位数进行加密操作
for(int i=0;i<order;i++)
{
int num=a[i];
a[i]=(num+5)%10;
}
//调换第一位和第二位的数值
int temp=a[0];
a[0]=a[order-1];
a[order-1]=temp;
//计算出最终的加密数据
int sum=1;
int result=0;
for(int i=order-1;i>=0;i--)
{
int mult=a[i]*sum;
result+=mult;
sum*=10;
}
//输出
System.out.println("加密后的暗号是:"+result);
}
计算要加密数值是几位数的方法:
public static int getOrder(int number)
{
int order=0;
for(int consult=number;consult>0;order++)
{
consult=consult/10;
}
return order;
}
至此程序完成,,OK
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2