使用数组的Evens / Odds的平均值

时间:2014-11-21 16:19:09

标签: java arrays methods

我的任务是让用户输入10个数字,然后分别输出偶数和奇数的平均值。

所以我真的很接近搞清楚这个,但是当我运行代码时,我得到了错误java.lang.ArithmeticException: / by zero。我知道这意味着什么,但我无法找到解决方法。即使我将even/oddAverage计算放在Averages方法中,它仍然不正确。

以下是代码:

public class Averages {
    static int[] numbers = new int[10];
    static int i = 0;
    static int oddSum = 0;
    static int evenSum = 0;
    static int oddCount = 0;
    static int evenCount = 0;
    static double oddAverage = 0;
    static double evenAverage = 0;

    public static void Averages() {       
        for (i = 0; i < numbers.length; i++) {
            if (i % 2 == 0) { 
                evenCount++; 
                evenSum = evenSum + i; 
            } else { 
                oddCount++; 
                oddSum = oddSum + i; 
            } 
        }
    } 

    public static void getEven() {
    evenAverage = evenSum / evenCount;
    System.out.println("\nThe average of the even numbers is: " + evenAverage + ".");
    }

    public static void getOdd() {
    oddAverage = oddSum / oddCount;
    System.out.println("\nThe average of the odd numbers is: " + oddAverage + ".");
    }
}

主要:

import java.util.Scanner;
public class AveragesTester {
    public static void main (String [] args) {
      Scanner input = new Scanner(System.in);      
      int i = 0;

      System.out.println("\nPlease input " + 10 + " numbers.");
      for (i = 0; i < Averages.numbers.length; i++){
          Averages.numbers[i] = input.nextInt();    
      }

      Averages.getEven();
      Averages.getOdd();
    }
}

在您将此标记为重复之前,我尝试使用上述问题修复代码无效。

1 个答案:

答案 0 :(得分:1)

您没有调用平均构造函数来计算平均值。您正在调用静态方法而不计算平均值,因此您将除以零异常。