¿Calculando el promedio de una lista de matrices?

Estoy tratando de usar el código de abajo para calcular el promedio de un conjunto de valores que ingresa un usuario y mostrarlo en unajTextArea pero no funciona correctamente. Digamos que un usuario ingresa 7, 4 y 5, el programa muestra 1 como promedio cuando debería mostrar 5.3

  ArrayList <Integer> marks = new ArrayList();
  Collections.addAll(marks, (Integer.parseInt(markInput.getText())));

  private void analyzeButtonActionPerformed(java.awt.event.ActionEvent evt) {
      analyzeTextArea.setText("Class average:" + calculateAverage(marks));
  }

  private int calculateAverage(List <Integer> marks) {
      int sum = 0;
      for (int i=0; i< marks.size(); i++) {
            sum += i;
      }
      return sum / marks.size();
  }

¿Qué hay de malo con el código?

Respuestas a la pregunta(11)

Su respuesta a la pregunta