java—使用meathod查找数组的平均值

oogrdqng  于 2021-06-29  发布在  Java
关注(0)|答案(4)|浏览(334)

这个问题在这里已经有答案了

如何从一组数字中计算平均值、中位数、模式和范围(7个答案)
六天前关门了。
我正在写一个程序来显示数组的最大值、最小值和平均值
到目前为止,我有最大值和最小值的方法,但没有平均值的方法。
我的代码:

class Test
{
    public static void main(String[] args) 
    {
        int[] arr = {5,12,-3,7,3,22,31,2,16,56};
        System.out.println(minValue(arr));
    System.out.println(maxValue(arr)); 
    System.out.println(avgValue(arr)); 

    }// end of Main

  // Array Methods
    public static int minValue(int[] nums)
    {
         int minValue = nums[0]; 
    for(int i=1;i < nums.length; i++){ 
      if( nums[i] < minValue){ 
        minValue = nums[i]; 
      } 
    } 
    return minValue; 
  } 

  public static int maxValue(int[] nums)
    {
         int maxValue =nums[0]; 
    for(int i=1;i < nums.length ;i++){ 
      if( nums[i] > maxValue){ 
         maxValue = nums[i]; 
      } 
    } 
    return maxValue; 
    }

   public static int avgValue(int[] nums)
    {
    int temp = 4;

    return temp;
    }

}// end fo class

现在,查找平均值的方法将填充一个始终返回“4”的占位符整数
如何编写消息来查找数组的平均值?

qkf9rpyu

qkf9rpyu1#

这是正确的方法:

public static float avgValue(int[] nums)
{
    float sum = 0.0f;
    float avg = 0.0f;
    for(int i=0; i < nums.length;i++){
        sum += nums[i];
    }
    avg = sum/nums.length;
    return avg;
}
eulz3vhy

eulz3vhy2#

一个简单的方法是:

public static double avgValue(int[] nums) {
    int total = 0;

    for(int i = 0; i < nums.length; i++) {
      total = total + arr[i];
    }

    double average = total / (double) nums.length;
    return average;
  }
k2arahey

k2arahey3#

使用java流

int[] data = {1,5,4,9,2,1,4,7,8};

IntSummaryStatistics s = Arrays.stream(data).summaryStatistics();
System.out.println("Average: " + s.getAverage());
System.out.println("Count: " + s.getCount());
System.out.println("Min: " + s.getMin());
System.out.println("Max: " + s.getMax());
System.out.println("Sum: " + s.getSum());

输出

Average: 4.555555555555555
Count: 9
Min: 1
Max: 9
Sum: 41
ou6hu8tu

ou6hu8tu4#

这应该可以做到:

public static double avgValue(int[] nums)
    int sum = 0;
    for (int value : nums) {
        sum += value;
    }
    return sum / nums.length;
}

相关问题