-2

我对数组初始化感到很困惑。发现这是一项非常复杂的任务。

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;
}
4

3 回答 3

2

您可以简单地:

int make2[] = new int[]{a[0], a[1]};
于 2013-11-13T10:48:05.030 回答
1

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

于 2013-11-13T10:48:49.220 回答
0

你可以这样做:

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

或者

    int[] a = {1,2};
    int[] b={2,3};
    int[] aa={a[0], b[1]};
于 2013-11-13T10:48:35.500 回答