传统的做法就是for循环, 通过循环比较得到最小值,最大值. 通过累加的和除以个数等于平均值
比较新的做法就是Java8 的流操作. 可以更方便快捷的得到最大,最小和平均值
参考代码如下
import java.util.Arraysimport 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(num<min) {
min=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)
}
}