Java 如何编写一个数组,使数组中的每个元素重复numRepeats次?
我正在处理一个数组,该数组返回一个新数组,每个元素重复numRepeats次 例如:Java 如何编写一个数组,使数组中的每个元素重复numRepeats次?,java,arrays,Java,Arrays,我正在处理一个数组,该数组返回一个新数组,每个元素重复numRepeats次 例如: repeatElements(new String[]{"hello", "world"}, 3) 应返回包含以下元素的新数组: [你好,你好,你好,世界,世界,世界] 这就是我目前得到的 public String[] repeatElements(String[] array, int numRepeats) { String[] copy = new String[array.length * n
repeatElements(new String[]{"hello", "world"}, 3)
应返回包含以下元素的新数组:
[你好,你好,你好,世界,世界,世界]
这就是我目前得到的
public String[] repeatElements(String[] array, int numRepeats)
{
String[] copy = new String[array.length * numRepeats];
String[] shortName = array.split("\\s+");
for(int i = 0; i< numRepeats; i++){
Arrays.fill(copy, shortName[i]);
}
return copy;
}
在这种情况下,传统的for循环更易于阅读
这就是我为newArr:I*n+j生成索引的方式,因此它从0、1、2、3、4、5开始。您可以初始化复制数组,然后循环索引并填充它,如下所示:
for (int i = 0; i < array.length; i++){
for (int j = 0; j < numRepeats; j++){
copy[(i * numRepeats) + j] = array[i]
}
}
为什么要编写字符串[]shortName=array.split\\s+;?这似乎与您列出的要求没有任何关系。有什么你没告诉我们的吗?
for (int i = 0; i < array.length; i++){
for (int j = 0; j < numRepeats; j++){
copy[(i * numRepeats) + j] = array[i]
}
}