#####需求: 定義一個數組其中包含多個數字。用自己的方式最終實現,奇數放在數組的左邊,偶數放在數組的右邊。(可以創建其他數組,不必須在原數組中改變) 分析: 1.初始化一個數組,裡面既可以存儲奇數也可以存儲偶數(下麵稱這個個數組為原數組)。 2.再次定義兩個數組,一個用來存放從原數組中挑出來的奇 ...
需求: 定義一個數組其中包含多個數字。用自己的方式最終實現,奇數放在數組的左邊,偶數放在數組的右邊。(可以創建其他數組,不必須在原數組中改變)
分析:
1.初始化一個數組,裡面既可以存儲奇數也可以存儲偶數(下麵稱這個個數組為原數組)。
2.再次定義兩個數組,一個用來存放從原數組中挑出來的奇數int[] anotherOdds = new int[arr.length];
,一個用來存放從原數組中挑出來的偶數int[] anotherEve = new int[arr.length];
。數組長度均為原數組長度。
3.定義變數int j=0;
,用來計數原數組中有多少個奇數,並且在遍歷原數組的時候遇到奇數可以存放到奇數數組中,同時j++;
。同理,定義變數int k=0;
,用來計數原數組中有多少個偶數,並且在遍歷原數組的時候遇到偶數可以存放到偶數數組中,同時k++;
。
4.遍歷偶數數組,把偶數數組中的數值拿出來放到奇數數組下標為j
起始的位置,放入成功則執行j++;
下麵為需求實現代碼:
點擊查看代碼
import java.util.Arrays;
import java.util.Scanner;
/*
定義一個數組其中包含多個數字。
用自己的方式最終實現,奇數放在數組的左邊,
偶數放在數組的右邊。
(可以創建其他數組,不必須在原數組中改變)
*/
public class Demo19 {
public static void main(String[] args) {
//創建Scanner對象
Scanner scanner = new Scanner(System.in);
//輸出提示信息
System.out.println("請輸入數組的長度:");
//接受用戶輸入:
int getUserNum = scanner.nextInt();
//動態初始化一個數組
int[] arr = new int[getUserNum];
for (int i = 0; i < arr.length; i++) {
//輸出提示信息
System.out.println("請往數組中輸入數字:");
int getUserIn = scanner.nextInt();
arr[i] = getUserIn;
}
//輸出提示信息
System.out.println("處理前的數組為:"+ Arrays.toString(arr));
//判斷奇數還是偶數
//重新定義另一個數組用於接收奇數數據
int[] anotherOdds = new int[arr.length];
//再次定義一個數組接受偶數數據
int[] anotherEve = new int[arr.length];
//定義一個變數用於得到新數組的奇數索引
int j = 0,k=0;
for (int i = 0; i < arr.length; i++) {
if (arr[i]%2!=0){
anotherOdds[j] = arr[i];
j++;
}else {
anotherEve[k] = arr[i];
k++;
}
}
for (int i = 0; i < k; i++) {
anotherOdds[j] = anotherEve[i];
j++;
}
//輸出一下新數組
System.out.println("處理後的數組為:"+Arrays.toString(anotherOdds));
// System.out.println(Arrays.toString(anotherEve));
// System.out.println(j);
}
}