Мне было поручено ввести 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
Что делать, если все цифры четные или все странные, подумайте внимательно – akashchandrakar