Alguém me ajuda a terminar esse código?
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
• 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
Curtidas 0