1
resposta

[Projeto] Registro de notas

package NotasValidas;

public class Main {
    static void main(String[] args) {
        Materia matematica = new Materia("matematica");

        matematica.adicionarNota(5);
        matematica.adicionarNota(3);
        matematica.adicionarNota(9);
        matematica.adicionarNota(11);
        matematica.adicionarNota(9);
        matematica.adicionarNota(7);
        matematica.adicionarNota(-1);

        System.out.println("Total de notas válidas: " + matematica.contarNotasValidas());
        System.out.printf("Média em Matemática: " + matematica.calcularMedia());
    }
}
package NotasValidas;

import java.util.ArrayList;

public class Materia {
    private String materia;
    private double nota;
    private ArrayList<Double> notas;


    public Materia(String materia) {
        this.materia = materia;
        this.notas = new ArrayList<>();
    }

    public void adicionarNota(double nota) {
        if (nota >= 0 && nota <= 10) {
            notas.add(nota);
        } else {
            System.out.println("Nota inválida ignorada: " + nota);
        }
    }

    int contarNotasValidas(){
        return notas.size();
    }

    double soma = 0;
    double calcularMedia(){
        if (notas.isEmpty()){
            return 0;
        }

        for (double nota : notas) {
            soma += nota;
        }
        return soma / notas.size();
    }
}
1 resposta

Olá, Gabriel, como vai?

O exercício está bem encaminhado e a lógica central funciona corretamente: a validação das notas, o encapsulamento dos dados na classe Materia e o cálculo da média estão todos operando como esperado. Vale mencionar alguns pontos que merecem atenção.

O atributo private double nota está declarado na classe, mas nunca é utilizado. Esse tipo de variável órfã pode causar confusão em quem lê o código futuramente e é boa prática removê-la. Da mesma forma, a variável double soma foi declarada como atributo da classe, quando deveria ser uma variável local dentro do método calcularMedia.

Continue compartilhando seus projetos no fórum, é sempre enriquecedor acompanhar a evolução de cada um.

O fórum está à disposição para qualquer dúvida que surgir.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!