Criei uma classe Turma para ser uma super classe, com os atributos nomeAluno, numeroTurma e nomeDisciplina para usar poliformismo, fiz o getters e setters dos atributos desejáveis.
Criei uma interface Aprovacao para que pudesse ser utilizado em outras disciplinas futuras, onde tem um método verificarAprovacao com parâmetro de 2 notas, esse método calcula a média e exibe uma mensagem com a média e dizendo se o estudante foi aprovado, ficou de recuperação ou foi reprovado.
Criei uma classe Matemática para representar a disciplina matemática, onde ela se extende a classe mãe Turma e implementa a interface Aprovação.
Por fim, criei a classe Main, para que pudesse exibir as informações da turma e do aluno.
/////// CLASSE TURMA /////// public class Turma { private String nomeAluno; private int numeroTurma = 1001; private String nomeDisciplina;
public String getNomeAluno() {
return nomeAluno;
}
public void setNomeAluno(String nomeAluno) {
this.nomeAluno = nomeAluno;
}
public int getNumeroTurma() {
return numeroTurma;
}
public String getNomeDisciplina() {
return nomeDisciplina;
}
public void setNomeDisciplina(String nomeDisciplina) {
this.nomeDisciplina = nomeDisciplina;
}
} /////// INTERFACE APROVACAO /////// public interface Aprovacao { void verificarAprovacao(double nota1, double nota2); }
/////// CLASSE MATEMATICA /////// public class Matematica extends Turma implements Aprovacao {
private String nomeProfessor = "Carlos";
public String getNomeProfessor() {
return nomeProfessor;
}
public void verificarAprovacao(double nota1, double nota2) {
double media = (nota1 + nota2) / 2;
System.out.println("Primeira nota: " + nota1);
System.out.println("Segunda nota: " + nota2);
if (media >= 7) {
System.out.println("O estudante teve média " + media + " e foi aprovado.");
} else if (media >= 5.0 && media <= 6.9) {
System.out.println("O estudante teve média " + media + " e está de recuperação");
} else {
System.out.println("O estudante teve média " + media + " e foi reprovado.");
}
}
}
/////// CLASSE PRINCIPAL /////// public class Main { public static void main(String[] args) {
/////// ALUNO 1 ///////
Matematica aluno1 = new Matematica();
System.out.println("Turma: " + aluno1.getNumeroTurma());
aluno1.setNomeAluno("Pedro");
System.out.println("Aluno: " + aluno1.getNomeAluno());
aluno1.setNomeDisciplina("Matemática");
System.out.println("Disciplina: " + aluno1.getNomeDisciplina());
System.out.println("Professor(a): " + aluno1.getNomeProfessor());
aluno1.verificarAprovacao(9,7.4 );
System.out.println();
/////// ALUNO 2 ///////
Matematica aluno2 = new Matematica();
System.out.println("Turma: " + aluno2.getNumeroTurma());
aluno2.setNomeAluno("Caio");
System.out.println("Aluno: " + aluno2.getNomeAluno());
aluno2.setNomeDisciplina("Matemática");
System.out.println("Disciplina: " + aluno2.getNomeDisciplina());
System.out.println("Professor(a): " + aluno2.getNomeProfessor());
aluno2.verificarAprovacao(6.3, 5.3);
System.out.println();
/////// ALUNO 3 ///////
Matematica aluno3 = new Matematica();
System.out.println("Turma: " + aluno3.getNumeroTurma());
aluno3.setNomeAluno("Marcos");
System.out.println("Aluno: " + aluno3.getNomeAluno());
aluno3.setNomeDisciplina("Matemática");
System.out.println("Disciplina: " + aluno3.getNomeDisciplina());
System.out.println("Professor(a): " + aluno3.getNomeProfessor());
aluno3.verificarAprovacao(3, 5.6);
System.out.println();
}
}
RESULTADO:
Turma: 1001 Aluno: Pedro Disciplina: Matemática Professor(a): Carlos Primeira nota: 9.0 Segunda nota: 7.4 O estudante teve média 8.2 e foi aprovado.
Turma: 1001 Aluno: Caio Disciplina: Matemática Professor(a): Carlos Primeira nota: 6.3 Segunda nota: 5.3 O estudante teve média 5.8 e está de recuperação
Turma: 1001 Aluno: Marcos Disciplina: Matemática Professor(a): Carlos Primeira nota: 3.0 Segunda nota: 5.6 O estudante teve média 4.3 e foi reprovado.