第一次用需求思路步骤的方式写代码,记录下,我的一个新的起点,思维又一次转变...


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


思路:
1,这公司要传递数,数据小于8位的整数。可以用数组定义
2,传递过程中数据加密,涉及到运算
3,数据倒序,写一个倒序方法,
4,将每位数字都加上5,再用和除以10的余数代替该数字
5,将第一位和最后一位数字交换。
6,请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。遍历


步骤
1,定义一个与数字位数相同的整数数组
2,操作数组中的元素
3,数据倒序,写一个倒序方法start=0 end=arr.length arr[start]=arr[end] 
							end--;start++;
	如果end=start就结束;用if和break;
4,将每位数字都加上5,再用和除以10的余数代替该数字arr[x] = (arr[x]+5)%10
5,将第一位和最后一位数字交换。定义一个交换元素的方法
    start=0 end=arr.length  arr[start]=arr[end] 这个方法单独在一个函数中,不和上面的3重复
6,请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。遍历
	定义一个遍历方法,把改变的数组遍历出来




注释,本想用多个函数来着,后来考虑多个函数可读性太差,直接一个函数搞定。。。


*/


class Jiami
{
	public static void main(String[] args)
	{
		//1,定义一个与数字位数相同的整数数组
		//假设给定数字为17645412
		int[] arr = {1,7,6,4,5,4,1,2};
		
		//操作数组
		caoZuo(arr);
		
	
	}
	/*
	//2,操作数组中的元素
	3,数据倒序,写一个倒序方法该方法仅仅只是操作数组,
		不需要返回值 参数类型为数组类型
	start=0 end=arr.length arr[start]=arr[end] 
							end--;start++;
	如果end=start就结束;用if和break;


	编程时想到,可以直接用for循环来结束。。。
	*/
	static void caoZuo(int[] arr)
	{
		
		//倒序
		for (int i=0; i<arr.length/2; i++)
		{
			int temp = arr[i];
			arr[i] = arr[arr.length - 1 - i];
			arr[arr.length - 1 - i] = temp;
		}
		


		//4,将每位数字都加上5,再用和除以10的余数代替该数字
		//arr[x] = (arr[x]+5)%10
		for (int x=0, length=arr.length; x<length; x++)
		{
			arr[x] = (arr[x]+5)%10;
		}


		//5,将第一位和最后一位数字交换。定义一个交换元素的方法
		//sta=0 last=arr.length  arr[start]=arr[end] 这个方法单独在一个函数中,不和上面的3重复
		int sta = 0;
		int last=arr.length-1;
		int temp = arr[sta];
		arr[sta] = arr[last];
		arr[last] = temp;
		
		
	
	
		//6,请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。遍历
		//定义一个遍历方法,把改变的数组遍历出来
		printArr(arr);
	}


	//遍历
	static void printArr(int[] arr)
	{	
		System.out.print("[");
		for (int x=0,length=arr.length; x<length; x++)
		{
			System.out.print(arr[x]);
		}
		System.out.print("]");
	}


	
	


}


转载于:https://www.cnblogs.com/znycat/p/4352656.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值