-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 に答える