2 qq 35436516 qq_35436516 于 2016.09.26 17:35 提问

java怎么把一个数组的值循环赋值给另外一个大数组?

如题,怎么把一个小的数组的值,循环赋值给另一个大数组至满?比如一个长度是3,另一个是10

6个回答

u013076997
u013076997   2016.09.26 17:56
已采纳

String [] arrA = {"a","b","c","d"};
String [] arrB = new String[10];
if(arrA.length > 0 && arrB.length > 0){
for(int i = 0; i < arrB.length; i++){
arrB[i] = arrA[i % arrA.length];
}
}
for(String str: arrB){
System.out.println(str);
}

qq_35436516
qq_35436516 好帅,谢谢对新手的指导
大约一年之前 回复
qq_29594393
qq_29594393   Ds   Rxr 2016.09.26 17:47

将小数组的值循环赋值给大数组,如果大数组未满,继续循环赋值,
或者直接一个循环(大数组的长度作为循环限制)赋值到小数组完,重置小数组的index为0,直到大数组全部赋值完,

qq_35436516
qq_35436516 你的想法正和我的意思
大约一年之前 回复
qq_35436516
qq_35436516 恩恩,谢谢
大约一年之前 回复
feng1790291543
feng1790291543   Ds   Rxr 2016.09.26 17:47

有两种方法
第一种用for循环:
1
2
3
4
int[] x={1,2};
int[] y=new int[2];
for(int i=0;i<x.length;i++){
y[i]=x[i];
第二种用java提供的arraycopy
1
2
3
int[] x={1,2};
int[] y=new int[2];
System.arraycopy(x, 0, y, 0, x.length);//变量依次是(原数组,从原数组第几位开始,目标数组,从第几位开始粘贴,复制长度)


qq_35436516
qq_35436516 朋友,大数组长度比小数组长一点啊,
大约一年之前 回复
Picking_up_stones
Picking_up_stones   2016.09.26 18:14

int[] small = new int[10]; //小数组
int[] big = new int[25]; //大数组
int index = 0; //记录小数组的下标
for (int i = 0; i < big.length; i++)
{
big[i] = small[index];
index++;
if (index == small.length) //当index的值到达小数组长度时,让小数组下标从零开始
{
index = 0;
}
}

qq_35436516
qq_35436516 谢谢指导,嘿嘿
大约一年之前 回复
qq_35831147
qq_35831147   2016.09.26 17:47

for(int i=0;i<小数组长度;i++){
大数组[i]=小数据[i]
}

qq_35436516
qq_35436516 大数组长度长啊,朋友
大约一年之前 回复
u010162887
u010162887   2016.09.27 12:41

转list 再由list转数组

qq_35436516
qq_35436516 大神,我不太懂。。。
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片