没法加图片了,运行结果是
1234--------
5670--------
因为数组定义长度为4,所以第二个数组最后一个不够默认补0,实现了4个一组存在一个集合里,至于调用方法没明白楼主说的
arr.length为什么要除以4?
追答编写代码前要确定使用的算法
1、比如我现在有个byte数组则我知道他的长度为length
2、要求是遍历这个数组并把相邻的4个元素放入一个新的数组中,则我要知道
新的数组总共个数是多少,则要使用length/4。
3、我先在要做的任务就是循环length/4次,将我的所有新的数组内容填满即可。
此处比较随意,也可以这么写
newArr[0] = arr[index++];
newArr[1] = arr[index++];
newArr[2] = arr[index++];
newArr[3] = arr[index++];
5、结束
纯手打,求采纳
那不除以4不是也可以获取到该数组中所有的吗?
追答可以,实现这个功能的实现方法有很多种,按照你确定的算法一步步走就行了,建议写代码前,先整理下自己的思路算法,条理清晰后写的会很快
下面附 不除以4的方法
byte arr[]//你的数组
for(int i=0 ; i<arr.length ; )
{
byte newArr[] = new byte[4]; // 新的数组
newArr[0] = arr[i++];
newArr[1] = arr[i++];
newArr[2] = arr[i++];
newArr[3] = arr[i++];
}
要正确执行上面代码,请确保你的数组长度恰好可以在循环中填满到所有的新数组中,也就是说
总长度 = 新数组1长度 + 新数组2长度 ......
否则可能需要进行一些条件判断了