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);
çµæžœã®ä½¿ç”¨:
奇数è¦ç´ ã¨å¶æ•°è¦ç´ ãŒåˆ¥ã€…ã®æ–°ã—ã„é…列ã«åˆ†é›¢ã•れãŸã‚‰ã€ã“れらã®é…列を必è¦ã«å¿œã˜ã¦è¡¨ç¤ºã—ãŸã‚Šã€ä»–ã®å‡¦ç†ã«ä½¿ç”¨ã—ãŸã‚Šã§ãã¾ã™ã€‚
ã“ã®ãƒ—ãƒã‚»ã‚¹ã‚’使用ã™ã‚‹ã“ã¨ã§ã€æ•´æ•°ã®é…列内ã®å¥‡æ•°ã¨å¶æ•°ã®è¦ç´ を分離ã—ã€ãれãžã‚Œã®ã‚«ãƒ†ã‚´ãƒªã«é©ã—ãŸå‡¦ç†ã‚’行ã†ã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚
「0004 é…列ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント