我基本上想要一个方法,它接受我声明的数组,然后将元素复制到一个新数组中,然后将剩余元素的大小加倍为0.我怎样才能实现这一点?我对数组加倍感到困惑,我意识到我可以将数组与前一个数组相等来复制元素。
class Untitled
{
public static void main(String[] args)
{
int[] a = {6, 3, 5, 2};
}
public static int[] doubleSize(int[] j)
{
int[] new = int [] j + int[] j
return int[] j;
}
}
答案 0 :(得分:1)
Java会自动将整数数组中的元素初始化为0,因此您不必手动执行此操作。
public static int[] doubleSize(int[] j)
{
int[] newArray = new int[j.length * 2]
for (int i = 0; i < j.length; i++) {
newArray[i] = j[i];
}
return newArray;
}
编辑:更具Java风格的解决方案
public static int[] doubleSize(int[] j)
{
return Arrays.copyOf(j, 2 * j.length);
}
答案 1 :(得分:0)
这很简单。要创建一个长度是其两倍长度的新数组:
int[] newArray = new int[j.length * 2];
由于数组是int
类型,因此每个元素都将初始化为0。
因此,一旦从旧数组中复制元素,就应该完成。
此外,您还需要将return语句更改为
return newArray;
答案 2 :(得分:0)
您好以这种方式实现所需的功能。
public class DoubleArray
{
public static void main( String[] args )
{
int a[]={2,3,4,5};
int b[]=new int[2*a.length];
b =Arrays.copyOf(a, b.length);
System.out.println("DoubleArray.main()"+b);
for(int i=0;i<b.length;i++)
{
System.out.println(b[i]);
}
}
}