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

网友投稿 238 2023-03-26

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

}

hCrHQWJH Arrays.sort(ints);

System.out.println("ints:" + Arrays.toString(ints));

return ints;

}

/**

* 将int数组根据计算的基准值按块分离

*/

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

}

}

http://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;

http:// }

}

average = sum_temp / sum_index;

if (10 < average)

average = (average + 5) / 10 * 10;

return average;

}

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:手机在网状态查询 (手机在网状态查询)(4分钟之前已更新)
下一篇:空号检测api (空号检测api)(1分钟之前已更新)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~