栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java用list集合存储学生信息并算出成绩平均值操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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;


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);
  }

  
  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;
  }

  
  private static List> getbaseListByIntArray(int[] int_arr)
  {
    List> list = new ArrayList>();
    list.add(new ArrayList());

    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());
      }

      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> getGoodListBybaseList(
      List> 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> good_list)
  {
    int average = 0;
    int sum_temp = 0;
    int sum_index = 0;
    for (List 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集合存储学生信息并算出成绩平均值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/132541.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号