【お題】NEW演歌

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

A 回答 (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]);
}
}
}
++++++++++++++++++++++++++++++++++++++++++
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/04/09 22:47

>コピーするのがわからない


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報