将byte数组中的数据循环放在另外一个数组中

循环byte数组,现在要每循环四个就要存放在一个新的数组中,然后调用方法传进去。该怎么写?最好有代码可以参考... 循环byte数组,现在要每循环四个就要存放在一个新的数组中,然后调用方法传进去。该怎么写?最好有代码可以参考 展开
 我来答
落寞如尘012
2014-08-28 · TA获得超过194个赞
知道小有建树答主
回答量:68
采纳率:0%
帮助的人:70.3万
展开全部
public static void main(String[] args) {
  List l = new ArrayList();
  byte[]a={1,2,3,4,5,6,7};
  byte[]b=new byte[4];
  int c = 0;
  for(int i=0;i<a.length;i++){
   if(i!=0&&i%4==0){
    l.add(b);
    b=new byte[4];
    c=0;
   }
   b[c]=a[i];
   if(i==a.length-1){
    l.add(b);
   }
   c++;
  }
  for(int i=0;i<l.size();i++){
   byte[]bb = (byte[]) l.get(i);
   for(int y=0;y<bb.length;y++){
    System.out.print(bb[y]);
   }
   System.out.println("--------");
  }
 }

没法加图片了,运行结果是

1234--------
5670--------

因为数组定义长度为4,所以第二个数组最后一个不够默认补0,实现了4个一组存在一个集合里,至于调用方法没明白楼主说的

小炫马扎
高粉答主

2016-02-17 · 关注我不会让你失望
知道顶级答主
回答量:3.4万
采纳率:86%
帮助的人:4624万
展开全部
把多个数放入数组里:
int[] Array=new int[100];//定义一个长度为100的int数组
Array[0]=5;//给第一个数组元素赋值
Array[1]=6;//依次类推赋值多次
int c = Array[0];//之后获取到第一个元素的值
结果就是:5;
备注:数组的下标从0开始,定义的长度为100个,那么数组的最后一个应该是“Array[99]”,否则获取“Array[100]”的时候会报错数组越界异常。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lin848497337
推荐于2018-03-11 · TA获得超过101个赞
知道答主
回答量:157
采纳率:0%
帮助的人:83.2万
展开全部
问的问题好抽象啊
你是要这样的代码么?
byte arr[]; //你的数组,有值的
int len = arr.length/4;
for(int i=0 ; i<len ; i+=4)
{
byte newArr[] = new byte[4];
for(int j=0 ; j<4 ; j++)
{
newArr[j] = arr[j+i];

}

调用方法(newArr);

}
更多追问追答
追问
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、结束
纯手打,求采纳
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式