Fórum Alguém me ajuda a terminar esse código? #619530
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
• 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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)