您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關java中使用list集合實現存儲并計算平均成績,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
需求
鍵盤輸入五名學生信息并錄入list集合;
輸出每個學生的信息,計算并輸出這五個學生Java語言成績的平均值;
計算并輸出他們Java語言成績的最大值和最小值。
思路
用Scanner 鍵盤輸入
用for循環依次錄入學生信息
用for循環輸出學生信息
用for循環拿出學生成績并求出成績平均分
代碼
補充知識:java 計算平均值,去除不合理的數據
我就廢話不多說了,大家還是直接看代碼吧~
package com.ine.tool; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 計算平均值,去除不合理的數據 * * @author Ro * */ public class AverageTool { /** * 主方法 */ public static int getAverage(String str_int_arr) { int[] int_arr = stringToIntWhitSort(str_int_arr.split(",")); if (1 < int_arr.length) { return getAverageByGoodList(getGoodListByBaseList(getBaseListByIntArray(int_arr))); } return Integer.parseInt(str_int_arr); } /** * 將String數組轉換為int數組 */ private static int[] stringToIntWhitSort(String[] arrs) { int[] ints = new int[arrs.length]; for (int i = 0; i < arrs.length; i++) { ints[i] = Integer.parseInt(arrs[i]); } Arrays.sort(ints); System.out.println("ints:" + Arrays.toString(ints)); return ints; } /** * 將int數組根據計算的基準值按塊分離 */ private static List<List<Integer>> getBaseListByIntArray(int[] int_arr) { List<List<Integer>> list = new ArrayList<List<Integer>>(); list.add(new ArrayList<Integer>()); int list_index = 0; int average_flag = 0; int sum_temp = 0; for (int i : int_arr) { sum_temp += i; } average_flag = sum_temp / int_arr.length; System.out.println("average_flag:" + average_flag); for (int i = 0; i < int_arr.length - 1; i++) { if (average_flag >= Math.abs(int_arr[i] - int_arr[i + 1])) { list.get(list_index).add(int_arr[i]); } else { list.get(list_index++).add(int_arr[i]); list.add(new ArrayList<Integer>()); } if ((i + 2) == int_arr.length) { list.get(list_index).add(int_arr[i + 1]); } } System.out.println("getBaseListByIntArray:" + list.toString()); return list; } /** * 篩選留下數據最多的塊 */ private static List<List<Integer>> getGoodListByBaseList( List<List<Integer>> list) { if (1 < list.size()) for (int i = 1; i < list.size(); i++) { if (list.get(0).size() != list.get(i).size()) { if (list.get(0).size() < list.get(i).size()) { list.remove(0); } else { list.remove(i); } i--; } } System.out.println("getGoodListByBaseList:" + list.toString()); return list; } /** * 將塊計算平均值,如果數據大于兩位,則個位四舍五入 */ private static int getAverageByGoodList(List<List<Integer>> good_list) { int average = 0; int sum_temp = 0; int sum_index = 0; for (List<Integer> t_list : good_list) { for (int i : t_list) { sum_temp += i; sum_index += 1; } } average = sum_temp / sum_index; if (10 < average) average = (average + 5) / 10 * 10; return average; } }
以上就是java中使用list集合實現存儲并計算平均成績,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。