数组初始化:这是错的吗?

时间:2013-11-13 10:46:19

标签: java arrays core

我对数组初始化感到很困惑。找到相当复杂的任务。

public int[] make2(int[] a, int[] b) {
  int[] make2=new int[2];
  if(a.length==2 )
  {
  make2={a[0],a[1]};
  }

  return make2;
}

是不是错了?任何人都可以解释如何在不进行循环的情况下初始化数组。

此更新

这是更新的代码。 但是,请你告诉我这个版本,它将帮助我避免创建一个没用的额外数组。当我不使用它并直接返回make 2时,编译器抱怨make2无法解析

public int[] make2(int[] a, int[] b) {
 int[] large=new int[3];
  if(a.length>=2 )
  {
 int[] make2={a[0],a[1]};
 return make2;
  }
  else if(a.length==1)
  {
 int[] make2={a[0],b[0]};
 return make2;
  }
  else if(a.length==0)
  {
 int[] make2={b[0],b[1]};
 return make2;
  }
return large;
}

3 个答案:

答案 0 :(得分:2)

你可以简单地说:

int make2[] = new int[]{a[0], a[1]};

答案 1 :(得分:1)

int [] make2 = new int [] {a [0],a [1]};

答案 2 :(得分:0)

你可以这样做:

int[] a = {1,2,3, 4,5,6,7};

    int[] a = {1,2};
    int[] b={2,3};
    int[] aa={a[0], b[1]};