c语言sscanf函数的用法是什么
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
{
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~