• 締切済み

Javaのコピープログラムについて

int1次元配列hoge{0,1,2,3,4,5,6,7,8,9,10}を奇数と偶数にわけて、それぞれを順にコピーする。 プログラムを作りたいのですが、奇数と偶数に分けるまではわかるのですがそれをコピーするのがわからないためご教授お願いします。

みんなの回答

  • DiveKo
  • ベストアンサー率70% (7/10)
回答No.2

arraycopy()を使って、↓な感じでやってみては? ++++++++++++++++++++++++++++++++++++++++++ public class sampleDemo { public static void main(String[] args) { int[] hoge = {0,1,2,3,4,5,6,7,8,9,10}; int[] even = new int[6]; int[] odd = new int[5]; for (int i = 0, j = 0, k = 0; i < hoge.length; i++) { if (hoge[i] % 2 == 0) { even[j] = hoge[i]; j++; } else { odd[k] = hoge[i]; k++; } } for (int i = 0; i < hoge.length; i++) { System.out.println("Before : " + hoge[i]); } System.arraycopy(even, 0, hoge, 0, even.length); System.arraycopy(odd, 0, hoge, even.length, odd.length); for (int i = 0; i < hoge.length; i++) { System.out.println("After : " + hoge[i]); } } } ++++++++++++++++++++++++++++++++++++++++++

210130
質問者

お礼

回答ありがとうございます。 参考になりました。 返事が遅くなったことをお詫びします。

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.1

>コピーするのがわからない 「コピーする」と一言で片付けてしまって ・何処に ・どうやって が抜けている為に分からなくなっているのではないでしょうか? ・奇数を何処にコピーするのか ・偶数を何処にコピーするのか ・どうやってコピーするのか(コピーとは何か?) を書き出してみれば案外簡単に解決するのでは。