Olá, sou iniciante na graduação de Análise e Desenvolvimento de Sistema, e estou com dificuldade no desenvolvimento de um código que me foi passado como exercício. O exercício que me foi passado corresponde à criação de um controle escolar. Eu consegui resolver a maior parte dele, mas estou com dificuldades de chamar um método específico para ser impresso na Classe main.
Eu criei um método para que seja impresso se o aluno será aprovado, ficará em recuperação ou será reprovado por falta, por meio da obtenção da média e das faltas inseridas. Eu consigo receber a média obtida, mas não consigo obter esse resultado. Se alguém puder me dar uma luz, eu agradeço haha
public class Nota {
private float nota1, nota2, nota3, media, mediaRecup;
private Aluno aluno;
//Construtor
public Nota() {
}
public Nota(float nota1, float nota2) {
this.nota1 = nota1;
this.nota2 = nota2;
}
public Nota(float nota1, float nota2, float nota3) {
this.nota1 = nota1;
this.nota2 = nota2;
this.nota3 = nota3;
}
//Métodos
public float getNota1() {
return nota1;
}
public void setNota1(float nota1) {
this.nota1 = nota1;
}
public float getNota2() {
return nota2;
}
public void setNota2(float nota2) {
this.nota2 = nota2;
}
public float getNota3() {
return nota3;
}
public void setNota3(float nota3) {
this.nota3 = nota3;
}
public float media() {
return media = (nota1 + nota2)/2;
}
public float getMedia() {
return media();
}
public String situacao() {
if((getMedia() < 6.0f) && (aluno.getFalta() <= 50)) {
return "Recuperação";
} else if (aluno.getFalta() > 50) {
return "Reprovado por falta";
} else {
return "Aprovado";
}
}
public String getSituacao() {
return situacao();
}
public class Aluno {
private String nome, serie;
private int faltas;
protected ArrayList<Nota>notas;
private ArrayList<Professor>professores;
private Turma turma;
//Construtor
public Aluno(String nome, String serie) {
this.nome = nome;
this.serie = serie;
//this.nota = nota;
this.notas = new ArrayList<Nota>();
this.professores = new ArrayList<Professor>();
}
//Métodos
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSerie() {
return serie;
}
public void setSerie(String serie) {
this.serie = serie;
}
public int getFalta() {
return faltas;
}
public void setFalta(int faltas) {
this.faltas = faltas;
}
public ArrayList<Nota> getNotas() {
return notas;
}
public void setNotas(ArrayList<Nota> notas) {
this.notas = notas;
}
public class ProgramaEscola {
public static void main(String[] args) {
Aluno aluno1 = new Aluno("Hugo", "1º ano/médio");
Aluno aluno2 = new Aluno("José", "2º ano/médio");
Aluno aluno3 = new Aluno("Luis", "1º ano/médio");
Aluno aluno4 = new Aluno("Patricia", "3º ano/médio");
ArrayList<Aluno>alunos = new ArrayList<>();
alunos.add(aluno1);
alunos.add(aluno2);
alunos.add(aluno3);
alunos.add(aluno4);
// =======================================================
Turma turma1 = new Turma('A');
Turma turma2 = new Turma('B');
Turma turma3 = new Turma('C');
ArrayList<Turma>turmas = new ArrayList<>();
turmas.add(turma1);
turmas.add(turma2);
turmas.add(turma3);
aluno1.setTurma(turma1);
aluno2.setTurma(turma2);
aluno3.setTurma(turma1);
aluno4.setTurma(turma3);
Disciplina disciplina1 = new Disciplina("Educação Física");
Disciplina disciplina2 = new Disciplina("Português");
Disciplina disciplina3 = new Disciplina("Matemática");
Disciplina disciplina4 = new Disciplina("Física");
Disciplina disciplina5 = new Disciplina("História");
ArrayList<Disciplina>disciplinas = new ArrayList<>();
disciplinas.add(disciplina1);
disciplinas.add(disciplina2);
disciplinas.add(disciplina3);
disciplinas.add(disciplina4);
disciplinas.add(disciplina5);
//============================================================
Professor professor1 = new Professor("Donald", disciplina1);
Professor professor2 = new Professor("Margarida", disciplina2);
Professor professor3 = new Professor("Gastão", disciplina3);
Professor professor4 = new Professor("Pardal", disciplina4);
Professor professor5 = new Professor("Betina", disciplina5);
ArrayList<Professor>professores = new ArrayList<>();
professores.add(professor1);
professores.add(professor2);
professores.add(professor3);
professores.add(professor4);
professores.add(professor5);
//=============================================================
Nota nota1Aluno1 = new Nota();
Nota nota2Aluno1 = new Nota();
ArrayList<Nota>notasAluno1 = new ArrayList<>();
Nota notaAluno2 = new Nota(5.0f, 5.5f);
ArrayList<Nota>notasAluno2 = new ArrayList<>();
//Inseri a nota dentro do aluno específico
aluno1.notas.add(nota1Aluno1);
aluno1.notas.add(nota2Aluno1);
aluno2.notas.add(notaAluno2);
//Inseri os valores que eu quis por meio desse código
nota1Aluno1.setNota1(6.0f);
nota2Aluno1.setNota2(6.5f);
aluno2.setFalta(10);
System.out.println(aluno2.notas.get(0).getMedia());
System.out.println(aluno2.notas.get(0).getSituacao());
Obs: Eu queria usar Scanner para obter os valores, mas não aprendi a usar o Scanner com ArrayList ainda para obter os dados já inseridos, então, tenho que fazer tudo com os valores inseridos no construtor mesmo.
Obs2: A minha dúvida é referente ao Aluno2 (no fim da Classe main), pois tentei inserir fazer de outro modo com o Aluno1, mas nem o método media() eu consegui chamar.
