需求: 定義一個陣列其中包含多個數字,用自己的方式最終實作,奇數放在陣列的左邊,偶數放在陣列的右邊,(可以創建其他陣列,不必須在原陣列中改變)
分析:
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);
}
}
執行效果如下

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/546516.html
標籤:Java
上一篇:Java并發基礎知識
下一篇:java的資料和運算式
