1.求平均數思想:
將輸入數字放進數組,循環結構將每個元素累加。然后累加和除以數組長度得出平均值。注意:平均值應該是float型。
2.求其最大(小)值思想:
自定義成員變量max(min),遍歷數組,循環結構中依次對比max(min)與各個元素值,求出數組中最大(小)值。
2.實現數字排序的思想:
將輸入的數字放進數組,因為數組創建后不可以改變其大小,則需要將數組轉換為Integer泛型集合。然后每次找到其最大(小)值,並且在當前集合刪除此元素,然后將最大(小)值依次添加到另外一個Integer泛型集合中。這樣得到的另外一個集合就是排序好的。
案例:從鍵盤輸入5個數字,求出平均值,並從大到小,從小到大排序
1 package api.arraylist.paixu; 2
3 import java.util.ArrayList; 4 import java.util.Arrays; 5 import java.util.Scanner; 6
7 public class PaiXu { 8 public static void main(String[] args) { 9 float avg = 0; 10 int sum = 0; 11 ArrayList<Integer> list = new ArrayList<>(); 12 ArrayList<Integer> list2 = new ArrayList<>(); 13 int[] array = getArr(); 14 for (int j : array) { 15 list.add(j); 16 } 17 //從大到小排列方法:
18 do { 19 int max = list.get(0); 20 for (Integer integer : list) { 21 if (integer >= max) { 22 max = integer; 23 } 24 } 25 list2.add(max); 26 list.remove((Integer) max); //獲取ArrayList對應元素索引值:ArrayList.indexOf(元素名);
27 } while (!list.isEmpty()); 28 System.out.println("從大到小:"); 29 System.out.println(list2); 30 //恢復list到初始狀態
31 for (int j : array) { 32 list.add(j); 33 } 34 list2.clear(); 35 //從小到大排列方法:
36 do { 37 int min = list.get(0); 38 for (Integer integer : list) { 39 if (integer <= min) { 40 min = integer; 41 } 42 } 43 list2.add(min); 44 list.remove((Integer) min); //獲取ArrayList對應元素索引值:ArrayList.indexOf(元素名);
45 } while (!list.isEmpty()); 46 System.out.println("從小到大:"); 47 System.out.println(list2); 48 //計算平均值:
49 for (Integer integer : list2) { 50 sum += integer; 51 } 52 avg = (float) sum / (float) list2.size(); 53 System.out.println("平均數:" + avg); 54
55 } 56
57 //從鍵盤獲取數字 添加到數組
58 public static int[] getArr() { 59 Scanner sc = new Scanner(System.in); 60 int[] arr = new int[5]; 61 for (int i = 0; i < arr.length; i++) { 62 System.out.print("請輸入第" + (i + 1) + "個數:"); 63 arr[i] = sc.nextInt(); 64 } 65 System.out.println("原本數組:" + Arrays.toString(arr)); 66 return arr; 67 } 68 }
另外兩種簡單數組排序方法點擊這里