//------------------------------------------ Classe diario (metodo localizar aluno)--------------------------------
package gerenciamento;
import java.util.ArrayList;
public final class Diario {
String nomeDisciplina;
int cargaHoraria;
//----------------------------------------------Adicionar aluno-------------------------------------------
ArrayList<Aluno> alunos = new ArrayList<>();
public int adicionarAluno(int matricula, String nome, float nota1, float nota2, float nota3, int faltas) {
localizarAluno(matricula);
if (localizarAluno(matricula) == null) {
Aluno instancia = new Aluno(matricula, nome, nota1, nota2, nota3, faltas);
alunos.add(instancia);
return 1;
} else return 0;
}
//----------------------------------------------Remover aluno-------------------------------------------
public int removerAluno(int m) {
localizarAluno(m);
if (localizarAluno(m) == null) {
return 0;
} else {
for (int i = 0; i < alunos.size(); i++) {
if (alunos.get(i).getMatricula() == m) {
alunos.remove(i);
}
}
return 1;
}
}
//----------------------------------------------Localizar aluno-------------------------------------------
public Aluno localizarAluno(int matricula) {
Aluno aluno = null;
for (int i = 0; i < alunos.size(); i++) {
Aluno a = alunos.get(i);
if (a.getMatricula() == matricula) {
aluno = alunos.get(i);
break;
}
}
return aluno;
}
//----------------------------------------------Construtor-------------------------------------------
Diario(String nomeDisciplina, int cargaHoraria) {
setNomeDisciplina(nomeDisciplina);
if (cargaHoraria != 40 || cargaHoraria != 60 || cargaHoraria != 80 || cargaHoraria != 120) {
setCargaHoraria(40);
} else {
setCargaHoraria(cargaHoraria);
}
}
//----------------------------Getters e Setters------------------------------
public String getNomeDisciplina() {
return nomeDisciplina;
}
public void setNomeDisciplina(String nomeDisciplina) {
this.nomeDisciplina = nomeDisciplina;
}
public int getCargaHoraria() {
return cargaHoraria;
}
public void setCargaHoraria(int cargaHoraria) {
this.cargaHoraria = cargaHoraria;
}
}
//-------------------------Main-----------------
package gerenciamento;
import java.util.Scanner;
public class Gerenciamento {
public static void main(String[] args) {
int op;
Diario diario = null;
Scanner Teclado = new Scanner(System.in);
//-----------------------------------------------------------Menu-----------------------------------------------
do {
System.out.println("Escolha uma opção: ");
System.out.println("1-Criar Diaro");
System.out.println("2-Adicionar aluno ao diario");
System.out.println("3-Remover aluno do diaro");
System.out.println("4-Consultar aluno");
System.out.println("5-Imprimir diario");
System.out.println("6-Sair do programa");
op = Teclado.nextInt();
switch (op) {
case 1:
System.out.print("Informe o nome da disciplina: ");
Teclado.nextLine();
String n = Teclado.nextLine();
System.out.println("Informe a carga horaria da disciplina(40, 60, 80 ou 120): ");
int c = Teclado.nextInt();
diario = new Diario(n, c);
System.out.println("Criação realizada com sucesso!");
break;
case 2:
if (diario == null) {
System.out.println("Nenhum diario localizado! Tente novamente.");
} else {
System.out.println("Informe o numero da matricula: ");
int matricula = Teclado.nextInt();
System.out.println("Informe o nome do aluno: ");
Teclado.nextLine();
String nome = Teclado.nextLine();
System.out.println("Informe nota 1 do aluno: ");
float nota1 = Teclado.nextFloat();
System.out.println("Informe nota 2 do aluno: ");
float nota2 = Teclado.nextFloat();
System.out.println("Informe nota 3 do aluno: ");
float nota3 = Teclado.nextFloat();
System.out.println("Informe o numero de faltas: ");
int faltas = Teclado.nextInt();
diario.adicionarAluno(matricula, nome, nota1, nota2, nota3, faltas);
}
break;
case 3:
if (diario == null) {
System.out.println("Nenhum diario localizado! Tente novamente.");
} else {
System.out.println("Digite o numero da matricula do aluno a ser removido: ");
int m = Teclado.nextInt();
diario.localizarAluno(m);
diario.removerAluno(m);
if (diario.removerAluno(m) == 0) {
System.out.println("Este aluno não existe no diario.");
} else System.out.println("Aluno removido com sucesso");
}
break;
case 4:
if (diario == null) {
System.out.println("Nenhum diario localizado! Tente novamente.");
} else {
System.out.println("Informe a matricula a ser buscada: ");
int m = Teclado.nextInt();
diario.localizarAluno(m);
System.out.println("Aluno " + diario.localizarAluno(m));
}
break;
case 5:
if (diario == null) {
System.out.println("Nenhum diario localizado! Tente novamente.");
} else {
System.out.println("Disciplina: " + diario.getNomeDisciplina());
System.out.println("Cargahoraria: " + diario.getCargaHoraria());
System.out.println("Alunos: ");
for (int i = 0; i < diario.alunos.size(); i++) {
System.out.println(diario.alunos.get(i).getNome());
}
}
break;
}
} while (op != 6);
}
}