所以我试图通过其中的值重复一个int []数组.
所以基本上如果你有一个数组
{1,2,3,4}
你的输出将是
{1,2,2,3,3,3,4,4,4,4}
或者如果你得到
{0,1,2,3}
你的输出是
{1,2,2,3,3,3}.
我知道肯定在这里必须有两个for循环,但我似乎无法找出使其复制数组中的值的代码.
我不能得到2到2,2,
任何帮助将不胜感激,谢谢.
在这里编辑我认为可行的代码
public static int[] repeat(int []in){
int[] newarray = new int[100];
for(int i = 0; i<=in.length-1;i++){
for(int k= in[i]-1;k<=in[i];k++){
newarray[i] = in[i];
}
}
return newarray;
}
我认为这会起作用,但它只会返回相同的列表,或者有时候如果我改变它,只需在新数组中获得4.
最佳答案 这将动态构建一个正确大小的新数组,然后填充它.
int[] base = { 1, 2, 3, 4 };
int size = 0;
for( int count : base ){
size += count;
}
int[] product = new int[size];
int index = 0;
for( int value : base ){
for(int i = 0; i < value; i++){
product[index] = value;
index++;
}
}
for( int value : product ){
System.out.println(mine);
}