0
我的任務是讓用戶輸入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();
}
}
你標記其視爲重複之前,我試圖解決使用上面這個問題提到無濟於事一個代碼。
將「構造函數」更改爲「public Averages()」,並創建一個Averages對象:平均avg = new Averages();開始。 – mdnghtblue 2014-11-21 16:24:41
如果所有的數字都是偶數或全部都是奇數,那麼仔細想一想 – akashchandrakar 2014-11-21 16:26:36