Alguém me ajuda a terminar esse código?

14/02/2023

0

Obrigatoriamente, siga as recomendação de boas práticas para codificação (identação, nomeação - de classes, constantes, atributos e métodos-, documentação de classes e uso de linhas em branco).
• Implemente as restrições nos métodos get mediante o tratamento de exceções para validar as seguintes regras de negócio:
o código identificador DEVE ser positivo;
o nome do aluno DEVE ser diferente de “”;
a média DEVE estar no intervalo [0; 10.0];
o número de faltas DEVE estar no intervalo de [0; 60]; e a quantidade de alunos na lista não deve ultrapassar a constante QUANTIDADE_ALUNOS.
• Implemente o método addAluno, o qual adiciona um aluno ao arrayList em ListaAlunos;
• Implemente a impressão dos alunos aprovados, que obtiveram média igual ou superior a 7 e que tem o número de faltas inferior ou igual a 15 (utilize as constantes da classe ListaAlunos).
• Implemente a impressão dos alunos reprovados por nota;
• Implemente a impressão dos alunos reprovados por média;
• O método toString em Aluno deve retornar uma String no formato “nomeAluno (Média: Valor, Faltas: Valor)”, por exemplo: “João Carlos Cardoso (Média: 8.75, Faltas: 7)”
• Opcionalmente, implemente um método testar() na classe ListaAlunos para automatizar os testes.
• Obrigatoriamente, implemente uma classe JUnit para testar os métodos get e set da classe Aluno

import java.util.ArrayList;

public class Aluno {
    private int id;
    private String nome;
    private double media;
    private int faltas;

    public Aluno(int id, String nome, double media, int faltas) {
        this.id = id;
        this.nome = nome;
        this.media = media;
        this.faltas = faltas;
    }

    public int getId() {
        if (id <= 0) {
            throw new IllegalArgumentException("Código identificador deve ser positivo.");
        }
        return id;
    }

    public String getNome() {
        if (nome.equals("")) {
            throw new IllegalArgumentException("Nome do aluno não pode ser vazio.");
        }
        return nome;
    }

    public double getMedia() {
        if (media < 0 || media > 10.0) {
            throw new IllegalArgumentException("Média deve estar no intervalo [0; 10.0].");
        }
        return media;
    }

    public int getFaltas() {
        if (faltas < 0 || faltas > 60) {
            throw new IllegalArgumentException("Número de faltas deve estar no intervalo [0; 60].");
        }
        return faltas;
    }
}

public class ListaAlunos {
    private static final int QUANTIDADE_ALUNOS = 50;
    private ArrayList<Aluno> alunos;

    public ListaAlunos() {
        alunos = new ArrayList<>();
    }

    public void addAluno(Aluno aluno) {
        if (alunos.size() >= QUANTIDADE_ALUNOS) {
            throw new IllegalStateException("Número máximo de alunos atingido.");
        }
        alunos.add(aluno);
    }

    public void imprimirAlunosAprovados() {
        for (Aluno aluno : alunos) {
            if (aluno.getMedia() >= 7.0 && aluno.getFaltas() <= 15) {
                System.out.println(aluno.toString());
            }
        }
    }

    public void imprimirAlunosReprovadosPorNota() {
        for (Aluno aluno : alunos) {
            if (aluno.getMedia() < 5.0) {
                System.out.println(aluno.getNome() + " foi reprovado por nota.");
            }
        }
    }

    public void imprimirAlunosReprovadosPorMedia() {
        for (Aluno aluno : alunos) {
            if (aluno.getMedia() >= 5.0 && aluno.getMedia() < 7.0) {
                System.out.println(aluno.getNome() + " foi reprovado por média.");
            }
        }
    }
}

public class TesteListaAlunos {
    public void testar() {
        Aluno aluno = new Aluno(1, "Fulano", 7.5, 10);
        ListaAlunos lista = new ListaAlunos();
        lista.addAluno(aluno);

        // Testar se o aluno foi adicionado corretamente
        assert lista.getAlunos().size() == 1;
        assert lista.getAlunos().get(0).equals(aluno);

        // Testar restrições do método getId()
        assert aluno.getId() == 1;
        try {
            aluno = new Aluno(0, "Fulano", 7.
Bruno Rossa

Bruno Rossa

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar