從鍵盤輸入n個數,計算平均值,求其最大(小)值,並從大到小或從小到大排列(Array+ArrayList實現)


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 }

 

 另外兩種簡單數組排序方法點擊這里

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM