public class SeparateOddEvenExample {
public static void main(String[] args) {
// 整数の配列を定義
int[] originalArray = {10, 21, 36, 42, 55, 67, 78, 89, 94, 100};
// 奇数要素用と偶数要素用の配列を初期化
int[] oddArray = new int[originalArray.length];
int[] evenArray = new int[originalArray.length];
int oddCount = 0; // 奇数要素の数
int evenCount = 0; // 偶数要素の数
// 元の配列を走査し、奇数と偶数を別々の配列に分離
for (int i = 0; i < originalArray.length; i++) {
if (originalArray[i] % 2 != 0) {
// 奇数の場合、oddArrayに追加
oddArray[oddCount] = originalArray[i];
oddCount++;
} else {
// 偶数の場合、evenArrayに追加
evenArray[evenCount] = originalArray[i];
evenCount++;
}
}
// 奇数要素用の新しい配列を作成
int[] finalOddArray = new int[oddCount];
System.arraycopy(oddArray, 0, finalOddArray, 0, oddCount);
// 偶数要素用の新しい配列を作成
int[] finalEvenArray = new int[evenCount];
System.arraycopy(evenArray, 0, finalEvenArray, 0, evenCount);
// 結果を表示
System.out.print("元の配列: ");
for (int num : originalArray) {
System.out.print(num + " ");
}
System.out.println();
System.out.print("奇数要素: ");
for (int num : finalOddArray) {
System.out.print(num + " ");
}
System.out.println();
System.out.print("偶数要素: ");
for (int num : finalEvenArray) {
System.out.print(num + " ");
}
}
}
このプログラムでは、元の整数の配列を走査し、奇数要素と偶数要素を別々の配列に分離します。最終的に、奇数要素と偶数要素が別々の新しい配列に格納され、結果が表示されます。
奇数と偶数の分離
「奇数と偶数の分離」とは、整数の配列を奇数と偶数の要素に分けるプロセスです。このプロセスは、整数データを異なる条件(奇数と偶数)に基づいて分類するために使用されます。以下は、奇数と偶数の分離プログラムの手順の解説です。
新しい配列の作成:
奇数と偶数の要素を格納するための新しい配列を作成します。通常、奇数用の配列と偶数用の配列が別々に用意されます。
int[] oddArray; // 奇数要素用の配列
int[] evenArray; // 偶数要素用の配列
元の配列の走査:
奇数と偶数を分離するために、元の整数の配列をループを使用して走査します。
for (int i = 0; i < originalArray.length; i++) {
// 各要素の奇数または偶数を判定
}
奇数と偶数の判定:
ループ内で、各要素が奇数か偶数かを判定します。通常、奇数は2で割った余りが1(% 2 == 1)であり、偶数は2で割った余りが0(% 2 == 0)です。
if (originalArray[i] % 2 == 0) {
// 偶数の場合、evenArray に追加
} else {
// 奇数の場合、oddArray に追加
}
新しい配列の作成:
分離された奇数と偶数の要素が元の配列から抽出され、新しい配列にコピーされます。これにより、不要な空き要素が配列に残らないようになります。
int[] finalOddArray = new int[oddCount]; // 奇数要素の新しい配列
System.arraycopy(oddArray, 0, finalOddArray, 0, oddCount);
int[] finalEvenArray = new int[evenCount]; // 偶数要素の新しい配列
System.arraycopy(evenArray, 0, finalEvenArray, 0, evenCount);
結果の使用:
奇数要素と偶数要素が別々の新しい配列に分離されたら、これらの配列を必要に応じて表示したり、他の処理に使用したりできます。
このプロセスを使用することで、整数の配列内の奇数と偶数の要素を分離し、それぞれのカテゴリに適した処理を行うことが可能になります。