JAVA思考题,简单的数据加密和解密

//<span style="white-space:pre">	</span>有兴趣的朋友可以自己做做,对JAVA入门提高很快的
	/*
	思考题:
	某公司对数字进行加密与解密,原数字是一个8位的整数
	加密过程:
	数据倒序,然后将每位数字+5,再用除以10的余数代替该数字
	最后将第一位和最后一位数字进行交换

	解密过程相反
	有兴趣的可以自己写一下,我觉得这个对于JAVA入门太有帮助了
*/

import java.util.Scanner;
class JiaMi{
/*
	程序思路:
	加密与解密过程看似不同,实际具有很多相同之处,也就是代码重复
	必须都需要把8位数打断为数组之后再处理,都需要第一位与最后一位交换顺序等
	因此将每一步写为方法再调用可以增强代码使用的效率
	
	以下详解一下解密每一步的过程:
	1. 数据倒序:
		字符串确实可以倒序,不过需要使用StringBuffer才行,
		String类型没有reverse这个方法,不过我还是写了该如何处理,
		详见我写的子程序。
		一般来说首先将8位数打断为8个数,存入数组,打断方法为,
		eg:123,获取第一位需要:int i=321/100; i的值即为3
		接下来再进行数组倒序;

	2. 每位数字+5,再用除10的余数代替该数字
		首先数字需要存于数组中,遍历数组进行这个操作;
		需要注意的是,加密好说,解密需要判断一下
		若数字小于5,也就是0,1,2,3,4,那么说明取余之前他们分别为10,11,12,13,14
		反之同理
	3. 第一位和最后一位交换
		这个太容易了,学程序的都知道N多种方法交换2个数据
		比如引入第三个变量啊,或者求和啊,按位反啊等等

	主程序main的运行顺序应该是:
	1. 了解用户想加密还是想解密
	2. 获得用户想加密或者解密的数字
	3. 进行加密或者解密
	4. 并输出结果
	
	有了思路,就可以开始做了!		
*/
	public static void main(String[] args){
//		让用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值