У меня есть массив с несколькими числами

int[] array1 = {1,3,4,2};

Цель упражнения - создать 3 метода:

1- метод sum ()

2- метод numberOdd ()

3- метод среднего ()

Вот мои методы:

public static int sum(int[] tab){
    int sum_total = 0;
    for(int i=0;i<tab.length;i++){
      sum_total += tab[i];
    }
    return sum_total;
}

public static int numberOdd(int[] tab){
    int n = 0;
    for(int i=0;i<tab.length;i++){
      if(tab[i] % 2 != 0){
        n += tab[i];
      }
    }
    return n;
}



public static float average(int[] tab){
      return (float) sum(tab) / tab.length;

}

Я хотел бы получить среднее значение шансов, но у меня возникает проблема при вызове моих методов

 System.out.println(numberOdd(average(array1)));

Сообщение об ошибке: "Main.java:35: ошибка: несовместимые типы: float не может быть преобразован в int".

Я не понимаю, как я могу получить среднее значение шансов?

Вот мой код для информации => https://repl.it/languages/java

0
user11124425 27 Ноя 2019 в 23:52

2 ответа

Лучший ответ

Если вы хотите получить среднее число нечетных чисел, вы можете просто сделать это ...

class Main {

public static int sum(int[] tab){
    int sum_total = 0;
    for(int i=0;i<tab.length;i++){
      sum_total += tab[i];
    }
    return sum_total;
}

public static int numberOdd(int[] tab){
    int n = 0;
    for(int i=0;i<tab.length;i++){
      if(tab[i] % 2 != 0){
        n++;
      }
    }
    return n;
}

public static int sumOdd(int[] tab){
    int n = 0;
    for(int i=0;i<tab.length;i++){
      if(tab[i] % 2 != 0){
        n+=tab[i];
      }
    }
    return n;
}

public static float average(int[] tab){
      return (float) sum(tab) / tab.length;

}
  public static void main(String[] args) {
    int[] array1 = {1,3,4,2};
    System.out.println(sumOdd(array1)/numberOdd(array1));
  }
}
0
Ankit Agrawal 27 Ноя 2019 в 21:17

Вы отправляете ему одно число в numberOdd (возвращаемое значение из среднего значения), которое запрашивает массив int. Поэтому вы получаете ошибку, что float не преобразуется в int.

1
edy2412 27 Ноя 2019 в 21:09