java求数组平均值

Python022

java求数组平均值,第1张

首先你这段代码求的是五个数的和而不是平均值package tuxing这句是打包语句,public class lingxing 这是声明一个公有的类public static void main(String[] args)这是主函数,Java程序运行的入口int a[]={2,4,5,7,5},i,s这里声明了一个int型数组a并为其制定元素值,还声明了两个int型变量i,s;s=0为s付初始值0;for(i=0i<5i++)for循环语句i=0是为上面声明的int型变量i付初始值,i<5是判断i是否小于5,i++是每次运行后i自动加1s += a[i]是求int数组a的五个元素的和,(因为for循环内只有一条语句所以可以吧for(){}后面的{}省略)System.out.print(s)这是在控制台打印出s的值如果是失球平均值紧要换成System.out.print(s/5)

//求最小、最大、平均、和\x0d\x0apublic void test(int[] par) {\x0d\x0aint min=par[0],max=par[0],sum=0,ave=0\x0d\x0afor(int i=0i

传统的做法就是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(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)

}

}