JAVA求数组平均值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA求数组平均值相关的知识,希望对你有一定的参考价值。

public class xscj2

public static double a1(double a[])

double result=0;int i=0;
while (i<a.length)
result+=a[i++];
return result/a.length;

public static double b1(double b[])

double result=0;int i=0;
while (i<b.length)
result+=b[i++];
return result/b.length;

public static double c1(double c[])

double result=0;int i=0;
while (i<c.length)
result+=c[i++];
return result/c.length;


public static double d1(double d[])

double result=0;int i=0;
while (i<d.length)
result+=d[i++];
return result/d.length;


public static void main(String[] args)


double a2;
double b2;
double c2;
double d2;

double a[]=90,85,66,51,69,78,88,94;
double b[]=68,88,81,90,65,74,64,46;
double c[]=68,90,85,88,68,70;
double d[]=60;
a2=a1(a);
b2=b1(b);
c2=c1(c);
d2=d1(d);

现在能不能想个办法只用一个方法a1(a),把数组a,b,c,d的值全部求出来并赋给a2,b2,c2,d2,
就是说能不能不把:
public static double a1(double a[])

double result=0;int i=0;
while (i<a.length)
result+=a[i++];
return result/a.length;

这方法写4遍求出来!

可以使用Java中的可变参数来编写一个只需要一个方法即可计算任意数量数组的平均值的函数:

Copy code
public static double a1(double[]... arrays)
double sum = 0;
int count = 0;
for (double[] array : arrays)
for (double value : array)
sum += value;
count++;


return sum / count;

然后可以使用以下代码来调用该方法,并将结果赋给对应的变量:

Copy code
double a2, b2, c2, d2;
double a[] = 90, 85, 66, 51, 69, 78, 88, 94;
double b[] = 68, 88, 81, 90, 65, 74, 64, 46;
double c[] = 68, 90, 85, 88, 68, 70;
double d[] = 60;

a2 = b2 = c2 = d2 = a1(a, b, c, d);
这样就可以使用一次方法调用计算所有数组的平均值了。
参考技术A 这样应该行
public class Test20


public static double[] a1(double[]...a)

double[] suma=new double[a.length];
for(int i=0;i<a.length;i++)
double sum=0;
for(int j=0;j<a[i].length;j++)
sum+=a[i][j];
if(j==(a[i].length-1))
suma[i]=sum/a[i].length;



return suma;

public static void main(String[] args)
// TODO Auto-generated method stub
double a2;
double b2;
double c2;
double d2;

double a[]=90,85,66,51,69,78,88,94;
double b[]=68,88,81,90,65,74,64,46;
double c[]=68,90,85,88,68,70;
double d[]=60;

double[] avg=a1(a,b,c,d);
a2=avg[0];
b2=avg[1];
c2=avg[2];
d2=avg[3];
System.out.println(a2+","+b2+","+c2+","+d2);

本回答被提问者采纳

java如何在数组中取最大值和最小值

    以下程序主要是求得数组中的最大值和最小值:

    public class a
    public static void main(String args[])
    int a[]=84,40,16,3,10,49,28,76,94,70;
    int n;
    int min=a[0];
    int i;
    int max=a[0];
    for(n=0;n<=9;n++)
    if(max<a[n])
    max=a[n];

    for(i=0;i<=9;i++)
    if(min>a[i])
    min=a[i];

    System.out.print("max="+max);
    System.out.print("min="+min);

    该程序输出结果:

    数组A的元素包括:74 48 30 17 62数组的最大值是:74数组的最小值是:17

    程序说明如下:

    第6行声明整数变量i 做为循环控制变量及数组的索引:另外也声明存放最小值的变量min与最大值的变量max。

    第7行声明整型数组A,其数组元素有5个,其值分别为74、48、30、17、62。

    第9行将min与max的初值设为数组的第一个元素。

    第10~18行逐一输出数组里的内容,并判断数组里的最大值与最小值。

    第19~20行输出比较后的最大值与最小值。将变量min与max初值设成数组的第一个元素后,再逐一与数组中的各元素相比。比min小,就将该元素的值指定给min存放,使min的内容保持最小;同样的,当该元素比max大时,就将该元素的值指定给max存放,使max的内容保持最大。for循环执行完,也就表示数组中所有的元素都已经比较完毕,此时变量min与max的内容就是最小值与最大值。

    本文所述代码为比较基础的示例程序,相信对于Java的初学者仍有一定的借鉴价值。

参考技术A public class Test 
public static void main(String args[]) 
int i,min,max;
int A[] = 74,48,30,17,62;  // 声明整数数组A,并赋初值
max = A[0];
min = A[0];
System.out.print("数组A的元素包括:");
for(i=0;i<A.length;i++)
System.out.print(A[i]+" ");
if(A[i]>max)   // 判断最大值
max = A[i];
if(A[i]<min)   // 判断最小值
min = A[i];

System.out.println("\\n数组的最大值是:" + max); // 输出最大值
System.out.println("数组的最小值是:" + min); // 输出最小值

参考技术B 用下面方法
public class TestJava4_3

public static void main(String args[])

int i,min,max;
int A[]=74,48,30,17,62; // 声明整数数组A,并赋初值

min=max=A[0];
System.out.print("数组A的元素包括:");
for(i=0;i<A.length;i++)

System.out.print(A[i]+" ");
if(A[i]>max) // 判断最大值
max=A[i];
if(A[i]<min) // 判断最小值
min=A[i];

System.out.println("\n数组的最大值是:"+max); // 输出最大值
System.out.println("数组的最小值是:"+min); // 输出最小值

本回答被提问者采纳
参考技术C Arrays.sort() 方法排序
排序完把下标值读出来就知道最大最小

以上是关于JAVA求数组平均值的主要内容,如果未能解决你的问题,请参考以下文章

用数组求一个班级的平均成绩,请写出Java设计程序。

用JAVA求平均值

求一个数组中最接近平均值的数,用java编程

Java 求一个整型数组元素中最接近其平均值的整数

用java二维数组完成两个同学三科成绩,计算每位同学的总分, 各科的平均分

最适合freshman的Java习题集数组