最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java用list集合存儲(chǔ)學(xué)生信息并算出成績(jī)平均值操作

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

需求

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

輸出每個(gè)學(xué)生的信息,計(jì)算并輸出這五個(gè)學(xué)生Java語言成績(jī)的平均值;

計(jì)算并輸出他們Java語言成績(jī)的最大值和最小值。

思路

用Scanner 鍵盤輸入

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

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

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

代碼

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

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

package com.ine.tool;

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

/**
 * 計(jì)算平均值,去除不合理的數(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ù)計(jì)算的基準(zhǔn)值按塊分離
   */
  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;
  }

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

相關(guān)文章

  • SpringBoot執(zhí)行有返回值的異步任務(wù)問題

    SpringBoot執(zhí)行有返回值的異步任務(wù)問題

    這篇文章主要介紹了SpringBoot執(zhí)行有返回值的異步任務(wù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • JVM內(nèi)存管理之JAVA語言的內(nèi)存管理詳解

    JVM內(nèi)存管理之JAVA語言的內(nèi)存管理詳解

    下面小編就為大家?guī)硪黄狫VM內(nèi)存管理之JAVA語言的內(nèi)存管理詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • SpringMVC自定義參數(shù)綁定實(shí)現(xiàn)詳解

    SpringMVC自定義參數(shù)綁定實(shí)現(xiàn)詳解

    這篇文章主要介紹了SpringMVC自定義參數(shù)綁定實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • C/C++和Java的交互詳解

    C/C++和Java的交互詳解

    本文旨在簡(jiǎn)單的介紹一下如何讓java層和C/C++層相互調(diào)用,這里主要是使用了JNI技術(shù),并沒有深究其原理,只是做了個(gè)實(shí)現(xiàn),其目的是為后面的學(xué)習(xí)打開一扇窗。
    2016-01-01
  • 帶著新人看java虛擬機(jī)01(推薦)

    帶著新人看java虛擬機(jī)01(推薦)

    這篇文章主要介紹了java虛擬機(jī),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Java實(shí)現(xiàn)文件的歸檔和解檔

    Java實(shí)現(xiàn)文件的歸檔和解檔

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)文件的歸檔和解檔,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Java中String類(字符串操作)的10個(gè)常見問題和解決方法

    Java中String類(字符串操作)的10個(gè)常見問題和解決方法

    這篇文章主要介紹了Java中String類(字符串)操作的10個(gè)常見問題,需要的朋友可以參考下
    2014-04-04
  • Java框架入門之簡(jiǎn)單介紹SpringBoot框架

    Java框架入門之簡(jiǎn)單介紹SpringBoot框架

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著SpringBoot框架展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 基于Spring AOP的Log收集匯總

    基于Spring AOP的Log收集匯總

    張三針對(duì)公司現(xiàn)有日志處理系統(tǒng)的不足,采用了SpringAOP技術(shù)和Redis存儲(chǔ),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)性能更高效的日志處理系統(tǒng),該系統(tǒng)通過SpringAOP的切面攔截功能,捕獲方法調(diào)用信息作為日志內(nèi)容,并將其統(tǒng)一格式化后存儲(chǔ)到Redis中
    2024-10-10
  • 在Java SE上使用Headless模式的超級(jí)指南

    在Java SE上使用Headless模式的超級(jí)指南

    這篇文章主要介紹了在Java SE上使用Headless模式的超級(jí)指南,文中介紹了Headless模式實(shí)際使用的各種技巧,極力推薦!需要的朋友可以參考下
    2015-07-07

最新評(píng)論

沧州市| 乌兰县| 太湖县| 潢川县| 江门市| 临洮县| 余江县| 镇安县| 交口县| 和龙市| 诸暨市| 永川市| 宜阳县| 军事| 宁河县| 高雄县| 上林县| 白沙| 绥宁县| 赣州市| 神池县| 肃北| 玉田县| 遵义县| 怀安县| 桦南县| 炎陵县| 手游| 正镶白旗| 黄平县| 呼图壁县| 阿巴嘎旗| 洛川县| 桂林市| 海林市| 平泉县| 资中县| 无极县| 龙井市| 建阳市| 永善县|