欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java用list集合存儲學生信息并算出成績平均值操作

 更新時間:2020年08月18日 08:39:19   作者:熱愛java的小小白  
這篇文章主要介紹了java用list集合存儲學生信息并算出成績平均值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

需求

鍵盤輸入五名學生信息并錄入list集合;

輸出每個學生的信息,計算并輸出這五個學生Java語言成績的平均值;

計算并輸出他們Java語言成績的最大值和最小值。

思路

用Scanner 鍵盤輸入

用for循環(huán)依次錄入學生信息

用for循環(huán)輸出學生信息

用for循環(huán)拿出學生成績并求出成績平均分

代碼

補充知識:java 計算平均值,去除不合理的數(shù)據(jù)

我就廢話不多說了,大家還是直接看代碼吧~

package com.ine.tool;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 計算平均值,去除不合理的數(shù)據(jù)
 * 
 * @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數(shù)組轉(zhuǎn)換為int數(shù)組
   */
  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數(shù)組根據(jù)計算的基準值按塊分離
   */
  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;
  }

  /**
   * 篩選留下數(shù)據(jù)最多的塊
   */
  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;
  }

  /**
   * 將塊計算平均值,如果數(shù)據(jù)大于兩位,則個位四舍五入
   */
  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集合存儲學生信息并算出成績平均值操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java 使用過濾器實現(xiàn)登錄攔截處理

    java 使用過濾器實現(xiàn)登錄攔截處理

    這篇文章主要介紹了java 使用過濾器實現(xiàn)登錄攔截處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java中方法的重寫與成員變量的隱藏

    Java中方法的重寫與成員變量的隱藏

    這篇文章討論了Java面向?qū)ο蟾拍钪幸粋€基本的概念–Field Hiding(隱藏成員變量),文中給大家介紹了java中的重寫知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-11-11
  • Java構(gòu)建JDBC應用程序的實例操作

    Java構(gòu)建JDBC應用程序的實例操作

    在本篇文章里小編給大家整理了一篇關(guān)于Java構(gòu)建JDBC應用程序的實例操作,有興趣的朋友們可以學習參考下。
    2021-03-03
  • Spring Boot CLI安裝教程

    Spring Boot CLI安裝教程

    Spring Boot是一個命令行工具,用于使用Spring進行快速原型搭建。本文重點給大家介紹Spring Boot CLI安裝教程,感興趣的朋友參考下吧
    2017-08-08
  • Java基礎(chǔ)之引用相關(guān)知識總結(jié)

    Java基礎(chǔ)之引用相關(guān)知識總結(jié)

    今天聊聊Java的引用,大多數(shù)時候我們說引用都是強引用,只有在對象不使用的情況下才會釋放內(nèi)存,其實Java 內(nèi)存有四種不同的引用.一起看看吧,,需要的朋友可以參考下
    2021-05-05
  • Java使用volatile關(guān)鍵字的注意事項

    Java使用volatile關(guān)鍵字的注意事項

    volatile關(guān)鍵字是Java中的一種稍弱的同步機制,為什么稱之為弱機制。這篇文章主要介紹了Java使用volatile關(guān)鍵字的注意事項,需要的朋友可以參考下
    2017-02-02
  • SpringBoot CommandLineRunner的異步任務機制使用

    SpringBoot CommandLineRunner的異步任務機制使用

    這篇文章主要介紹了SpringBoot CommandLineRunner的異步任務機制使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java8中List轉(zhuǎn)Map(Collectors.toMap) 的技巧分享

    Java8中List轉(zhuǎn)Map(Collectors.toMap) 的技巧分享

    在最近的工作開發(fā)之中,慢慢習慣了很多Java8中的Stream的用法,很方便而且也可以并行的去執(zhí)行這個流,這篇文章主要給大家介紹了關(guān)于Java8中List轉(zhuǎn)Map(Collectors.toMap) 的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • java如何實現(xiàn)項目啟動時執(zhí)行指定方法

    java如何實現(xiàn)項目啟動時執(zhí)行指定方法

    這篇文章主要為大家詳細介紹了java項目如何啟動時執(zhí)行指定方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Java Map.getOrDefault方法詳解

    Java Map.getOrDefault方法詳解

    Map.getOrDefault(Object key, V defaultValue)是Java中Map接口的一個方法,用于獲取指定鍵對應的值,如果鍵不存在,則返回一個默認值,這篇文章主要介紹了Java Map.getOrDefault方法詳解,需要的朋友可以參考下
    2024-01-01

最新評論