java编程,三十名同学数学成绩输入一堆数组中,求平均分,求总分,求最高分和最低分

如题所述

非常推荐用Java8的新特性Stream来解决这类求数据统计结果的,真的很方便,代码简洁而优雅

用到了IntSummaryStatistics类,这个类就包含了题主说的各种统计结果了


List<Student> list = Arrays.asList(new Student(100), new Student(59), new Student(80), new Student(92));
IntSummaryStatistics summaryStatistics = list.stream().mapToInt(Student::getScore).summaryStatistics();

System.out.println("最高分:" + summaryStatistics.getMax());
System.out.println("最低分:" + summaryStatistics.getMin());
System.out.println("总分:" + summaryStatistics.getSum());
System.out.println("平均分:" + summaryStatistics.getAverage());


可以参考了解一下

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-20
class Test{
public static void main(String []args) throws IOException{

float []a=new float[30];

int i;

float t,average,max,min,sum=0;

for(i=0;i<30;i++)

{
t=System.in.read();

a[i]=t;

}

min=a[0];

max=a[0];

for(i=0;i<30;i++)

{
sum+=a[i];

if(a[i]>max)

max=a[i];

else if(a[i]<min)

min=a[i];

}

average=sum/30;

System.out.println("平均分为:"+average+"\n总分:"+sum+"\n最高分:"+max+"\n最低分:"+min);

}

}
第2个回答  2016-04-20
double sum=0,max=0,min=999;

for(int i=0;i<arr.length;i++)
{
if(arr[i]>max) max=arr[i];
if(arr[i]<min) min=arr[i];
sum+=arr[i];

}
System.out.println("avg:"+(sum/arr.length));
System.out.println("max:"+max);
System.out.println("min:"+min);
相似回答