Quando se trabalha com Orientação a Objetos, é bom você separar bem as classes de modelagem, das classes de regras de negócio. No seu caso, a classe de modelagem é a classe Estudante, sua única função é representar um estudante.
O que um estudante tem como atributos? Geralmente tem um código de matrícula, um nome, um conjunto de notas e a média. Caso queira, você pod armazenar a situação de aprovação também. Algo mais ou menos assim:
package cdh.ruthceli.model;
import java.util.Arrays;
public class Estudante {
private String matricula;
private String nome;
private double[] notas;
private double media;
public Estudante(String matricula, String nome) {
this.matricula = matricula;
this.nome = nome;
}
public String getMatricula() {
return matricula;
}
public String getNome() {
return nome;
}
public double[] getNotas() {
return notas;
}
public void setNotas(double... notas) {
this.notas = notas;
calcularMedia();
}
public double getMedia() {
return media;
}
private void calcularMedia() {
media = 0.0;
if (notas == null || notas.length == 0) {
return;
}
for (double nota : notas) {
media += nota;
}
media /= notas.length;
}
@Override
public String toString() {
return "Estudante{" +
"matricula='" + matricula + '\'' +
", nome='" + nome + '\'' +
", notas=" + Arrays.toString(notas) +
", media=" + media +
'}';
}
}
Além disso, precisamos de uma classe que fará o teste dessa classe Estudante, essa classe é quem possuirá o método main. Veja:
package cdh.ruthceli.test;
import cdh.ruthceli.model.Estudante;
public class EstudanteTest {
public static void main(String[] args) {
Estudante estudante = new Estudante("AB-123-C", "Fulano de Tal");
estudante.setNotas(10.0, 9.5, 8.9, 7.0);
System.out.println(estudante);
}
}
Obs.: O método setNotas foi feito de tal forma, que você pode passar a quantidade de notas que quiser. Além disso, ele chamará o método que fará o cálculo da média automaticamente.
Execute esse código e veja o que acontece.