传统的做法就是for循环, 通过循环比较得到最小值,最大值. 通过累加的和除以个数等于平均值
比较新的做法就是Java8 的流操作. 可以更方便快捷的得到最大,最小和平均值
参考代码如下
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.stream.Collectors;
public class ArrayDemo {
public static void main(String[] args) {
Integer[] nums= {6,5,7,8};
test1(nums);
System.out.println("----分割线---");
test2(nums);
}
//传统的处理方法
public static void test1(Integer[] nums) {
int max=Integer.MIN_VALUE;
int min=Integer.MAX_VALUE;
int sum=0;
for (Integer num : nums) {
if(num>max) {
max=num;
}
if(nummin=num;
}
sum+=num;
}
double avg=sum*1.0/nums.length;
System.out.println("最大值:"+max);
System.out.println("最小值:"+min);
System.out.println("平均值:"+avg);
}
//Java8 开始的 stream操作
public static void test2(Integer[] nums) {
IntSummaryStatistics results = Arrays.stream(nums).collect(Collectors.summarizingInt(e->e));
int max=results.getMax();//获取最大值
System.out.println("最大值:"+max);
int min=results.getMin();
System.out.println("最小值:"+min);
double avg=results.getAverage();
System.out.println("平均值:"+avg);
}
}