Módulo 2 – Projeto Avaliativo 1
1 INTRODUÇÃO
Considerando os assuntos estudados nas semanas anteriores do módulo 2, vamos aplicar todos os conceitos estudados resolvendo o problema abordado no desenvolvimento do software solicitado pelo cliente Lab School.
2 REQUISITOS DA APLICAÇÃO
A aplicação que deverá ser realizada individualmente deve contemplar os seguintes requisitos:
- O sistema deverá ser desenvolvido em Java;
- O sistema deve seguir o Roteiro da Aplicação;
- Desenvolvimento das mensagens de saída, com espera da ação do usuário;
- Captura da interação do usuário via entrada padrão;
- O sistema deverá ser apresentado diretamente na linha de comando.
3 ROTEIRO DA APLICAÇÃO
A escola de programação Lab School deseja automatizar todo o sistema de armazenamento de informações referentes aos alunos, funcionários e professores. O sistema deve conter os seguintes tipos de cadastros, cada um com suas características:
Aluno
Um aluno pode estar com a matrícula nas seguintes condições:
- Ativo
- Irregular
- Atendimento pedagógico
- Inativo
O usuário do sistema poderá alterar esta condição sempre que necessário
O aluno deve armazenar a nota do processo seletivo de entrada (0 até 10)
Esta nota deve ser inserida no momento do cadastro do aluno
Total de atendimentos pedagógicos realizados
Este item é um contador que inicia em zero. Sempre que um pedagogo realiza um atendimento este valor deve ser incrementado
Professor
Formação acadêmica:
- Graduação incompleta
- Graduação completa
- Mestrado
- Doutorado
Experiência em desenvolvimento:
- Front-End
- Back-End
- Full-Stack
Estado
- Ativo
- Inativo
Pedagogo
- Total de atendimentos pedagógicos realizados:
Este item é um contador que inicia em zero. Sempre que um pedagogo realiza um atendimento este valor deve ser incrementado
- O sistema deve perguntar qual foi o pedagogo e aluno participaram do atendimento
Todos os cadastros devem ser derivadas da classe Pessoa, que possui os seguintes atributos e métodos:
Pessoa
- Nome
- Telefone
- Data de nascimento
- CPF
- Identificador/Código (Deve ser gerado automaticamente pelo sistema).
O Lab School também deverá apresentar os seguintes relatórios:
Listar todas as pessoas cadastradas. O usuário deverá informar quais categorias de pessoas deseja listar (deve-se listar Código, Nome e CPF):
-
- Alunos
- Professores
- Funcionários
- Todos
Relatório dos Alunos. O usuário deve escolher qual categoria apresentar (deve-se listar código, nota e total de atendimentos pedagógicos):
-
- Ativo
- Irregular
- Atendimento pedagógico
- Inativo
- Todos
Relatório dos professores. O usuário deve escolher qual categoria apresentar:
-
- Front-End
- Back-End
- Full-Stack
- Todos
Alunos com mais atendimentos pedagógicos
Pedagogos com mais atendimentos pedagógicos
Package aplication
import entities.Aluno;
import entities.DigitarNumeroException;
import entities.Pedagogo;
import entities.Professor;
import java.time.DateTimeException;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;
public class LabScholMain {
static Scanner scanner = new Scanner(System.in);
static Scanner scanner2 = new Scanner(System.in);
static List<Aluno> alunos = new ArrayList<>();
static List<Professor> professores = new ArrayList<>();
static List<Pedagogo> pedagogos = new ArrayList<>();
static String telefone = "";
static String cpf = "";
static String matricula;
static String formacaoAcademica;
static String desenvolvimento;
static String estado;
static String data;
static Integer idPedagogo;
static Integer contadorAluno;
public static void main(String[] args) {
// lista para testes
Integer id;
String data2="28/12/1966";
Aluno teste1 = new Aluno("Fernando Teste1","48-1-9999-9999",parseLocalDate(data2),"012-345-678/91", id=10,"Ativo",10.0,"sim",18,0);
Aluno teste2 = new Aluno("Fernando Teste2","48-2-9999-9999",parseLocalDate(data2),"013-345-678/92", id=11,"Irregular",9.0,"n�o",0,0);
Aluno teste3 = new Aluno("Fernando Teste3","48-3-9999-9999",parseLocalDate(data2),"014-345-678/92", id=12,"Em atendimento Pedag�gico.",8.0,"sim",20,0);
Aluno teste4 = new Aluno("Fernando Teste4","48-4-9999-9999",parseLocalDate(data2),"015-345-678/92", id=13,"Inativo",7.0,"n�o",0,0);
alunos.add(teste1);
alunos.add(teste2);
alunos.add(teste3);
alunos.add(teste4);
Professor professor1 = new Professor("Fernando Prof Teste1", "48-1-2222-2222", parseLocalDate(data2), "111-222-333-44", id=14, "Gradua��o incompleta","Front-End", "sim" );
Professor professor2 = new Professor("Fernando Prof Teste2", "48-2-2222-2222", parseLocalDate(data2), "222-222-333-44", id=15, "Gradua��o completa","Back-End", "n�o" );
Professor professor3 = new Professor("Fernando Prof Teste3", "48-3-2222-2222", parseLocalDate(data2), "333-222-333-44", id=16, "Mestrado","Full-Stack", "sim" );
Professor professor4 = new Professor("Fernando Prof Teste4", "48-4-2222-2222", parseLocalDate(data2), "444-222-333-44", id=17, "Doutorado","Front-End", "n�o" );
professores.add(professor1);
professores.add(professor2);
professores.add(professor3);
professores.add(professor4);
Pedagogo pedagogo1 = new Pedagogo ("Fer Pedag Teste1", "48-5-5555-5555", parseLocalDate(data2), "555-666-777-88", id=18, 0, 0);
Pedagogo pedagogo2 = new Pedagogo ("Fer Pedag Teste2", "48-6-5555-5555", parseLocalDate(data2), "666-666-777-88", id=19, 1,0);
Pedagogo pedagogo3 = new Pedagogo ("Fer Pedag Teste3", "48-7-5555-5555", parseLocalDate(data2), "777-666-777-88", id=20, 0,0);
Pedagogo pedagogo4 = new Pedagogo ("Fer Pedag Teste4", "48-8-5555-5555", parseLocalDate(data2), "888-666-777-88", id=21, 1,0);
pedagogos.add( pedagogo1);
pedagogos.add( pedagogo2);
pedagogos.add( pedagogo3);
pedagogos.add( pedagogo4);
// final lista teste.
menuBoasVindas();
}
private static void menuBoasVindas() {
try {
System.out.println("<<<<<<<<<<<< Lab School >>>>>>>>>>>>");
System.out.println("Bem-vindo, escolha a op��o desejada:" +
"\n------------------------------------" +
"\n1 - Fazer Cadastro" +
"\n2 - Visualizar Cadastros" +
"\n3 - Relat�rios Alunos" +
"\n4 - Relat�rios Professores" +
"\n5 - Relat�rios Pedag�gicos" +
"\n6 - Alterar condi��o de matr�cula" +
"\n7 - Marcar atendimento pedag�gico" +
"\n8 - Encerrar a sess�o");
int boasVindas = scanner.nextInt();
switch (boasVindas) {
case 1:
fazerCadastros();
break;
case 2:
listarCadastros();
break;
case 3:
relatorioAlunos();
break;
case 4:
relatorioProfessores();
break;
case 5:
relatorioPedagogico();
break;
case 6:
System.out.println("Digite o id do aluno: ");
int idaluno = scanner.nextInt();
for(int i = 0; i < alunos.size(); i++) {
if(alunos.get(i).getId().equals(idaluno)){
System.out.println(alunos.get(i));
System.out.println("Condi��o atual: " + alunos.get(i).getMatricula());
System.out.println("");
}
}
condicaoAluno();
for(int i = 0; i < alunos.size(); i++) {
if (alunos.get(i).getId().equals(idaluno)) {
alunos.get(i).setMatricula(matricula);
System.out.println("Condi��o alterada com sucesso.");
System.out.println("");
}
}
menuBoasVindas();
case 7:
marcarAtendimentoPedagogico();
menuBoasVindas();
case 8:
System.out.println("Agradecemos sua presen�a.");
System.exit(0);
break;
default:
System.out.println("Op��o inv�lida!");
}
}catch (InputMismatchException e){
System.out.println("Voc� tem que digitar um n�mero");
}finally {
System.out.println("Programa encerrado!");
}
}
private static void marcarAtendimentoPedagogico() {
System.out.println("<<<<* Atendimento Pedagogico *>>>>");
System.out.println("Para agendar um atendimento,");
System.out.println("digite o Id do Aluno: ");
int idAluno = scanner.nextInt();
System.out.println("Digite o Id do Pedagogo: ");
int idPedagogo = scanner.nextInt();
for (int i = 0; i < alunos.size(); i++) {
if ((alunos.get(i).getId().equals(idAluno))) {
Integer auxiliar = ((alunos.get(i).getContadorAluno()+1));
alunos.get(i).setContadorAluno(auxiliar);
System.out.println("cont aluno: " + alunos.get(i).getContadorAluno());
}
}
for (int i = 0; i < pedagogos.size(); i++) {
if ((pedagogos.get(i).getId().equals(idPedagogo))) {
Integer auxiliar = ((pedagogos.get(i).getContadorPedagogo()+1));
pedagogos.get(i).setContadorPedagogo(auxiliar);
System.out.println("cont pedagogo: " + pedagogos.get(i).getContadorPedagogo());
}
}
System.out.println("Agendamento efetuado com sucesso!");
menuBoasVindas();
}
private static void relatorioPedagogico() {
System.out.println("Escolha uma op��o:" +
"\n1 - Alunos com mais atendimentos pedag�gicos" +
"\n2 - Pedagogos com mais atendimentos pedag�gicos");
int relatPedagogico = scanner.nextInt();
switch (relatPedagogico){
case 1:
for(int i = 0; i < alunos.size(); i++) {
if ((alunos.get(i).getMatricula().equals("Em atendimento Pedag�gico."))
||((alunos.get(i).getAtendimento().equals("sim")))) {
System.out.println("Aluno: "+ alunos.get(i).getNome());
int idped = (alunos.get(i).getIdPedagogo());
pedagogos.get(i).getId().equals(idped);
System.out.println("Nome do Pedagogo: " + pedagogos.get(i).getNome());
System.out.println("Contador: " + alunos.get(i).getContadorAluno());
System.out.println("");
}
}
menuBoasVindas();
break;
case 2:
for(int i = 0; i < alunos.size(); i++) {
if ((alunos.get(i).getMatricula().equals("Em atendimento Pedag�gico."))
||((alunos.get(i).getAtendimento().equals("sim")))) {
int idped = (alunos.get(i).getIdPedagogo());
pedagogos.get(i).getId().equals(idped);
System.out.println("Nome do Pedagogo: " + pedagogos.get(i).getNome());
System.out.println("Nome do(s) Aluno(s): " + alunos.get(i).getNome());
System.out.println("Contador: " + pedagogos.get(i).getContadorPedagogo());
System.out.println("");
}
}
menuBoasVindas();
break;
default:
System.out.println("Op��o inv�lida");
}
}
private static void relatorioProfessores() {
try {
System.out.println("Escolha o relat�rio a ser listado:" +
"\n-----------------------------------------" +
"\n1 - Front-End" +
"\n2 - Back-End" +
"\n3 - Full-Stack" +
"\n4 - Todos");
int relatorioProfessor = scanner.nextInt();
switch (relatorioProfessor) {
case 1:
for(int i = 0; i < professores.size(); i++) {
if (professores.get(i).getDesenvolvimento().equals("Front-End")) {
System.out.println(professores.get(i));
}
}
System.out.println(" ");
menuBoasVindas();
break;
case 2:
for(int i = 0; i < professores.size(); i++) {
if (professores.get(i).getDesenvolvimento().equals("Back-End")) {
System.out.println(professores.get(i));
}
}
System.out.println(" ");
menuBoasVindas();
break;
case 3:
for(int i = 0; i < professores.size(); i++) {
if (professores.get(i).getDesenvolvimento().equals("Full-Stack")) {
System.out.println(professores.get(i));
}
}
System.out.println(" ");
menuBoasVindas();
break;
case 4:
// se condi��o matricula for igual a Inativo imprime professores
System.out.println("Professores:");
professores.forEach(System.out::print);
System.out.println("");
System.out.println("");
menuBoasVindas();
break;
default:
System.out.println("Op��o inv�lida!");
}
}catch (InputMismatchException e){
System.out.println("Voc� tem que digitar um n�mero");
}
}
private static void relatorioAlunos() {
try {
System.out.println("Escolha o relat�rio a ser listado:" +
"\n-----------------------------------------" +
"\n1 - Alunos Ativos" +
"\n2 - Alunos Irregulares" +
"\n3 - Alunos em Atendimento pedag�gico" +
"\n4 - Alunos Inativos");
int relatAlunos = scanner.nextInt();
switch (relatAlunos) {
case 1:
//
for(int i = 0; i < alunos.size(); i++) {
if (alunos.get(i).getMatricula().equals("Ativo")) {
System.out.println(alunos.get(i));
System.out.println("Nota: " + alunos.get(i).getNota());
System.out.println("Atendimento: " + alunos.get(i).getAtendimento());
}
}
System.out.println(" ");
menuBoasVindas();
break;
case 2:
// se condi��o matricula for igual a Irregulares imprime alunos
for(int i = 0; i < alunos.size(); i++) {
if (alunos.get(i).getMatricula().equals("Irregular")) {
System.out.println(alunos.get(i));
System.out.println("Nota: " + alunos.get(i).getNota());
System.out.println("Atendimento: " + alunos.get(i).getAtendimento());
}
}
System.out.println(" ");
menuBoasVindas();
break;
case 3:
// se condi��o matricula for igual a Atendimento pedag imprime alunos
for(int i = 0; i < alunos.size(); i++) {
if ((alunos.get(i).getMatricula().equals("Em atendimento Pedag�gico."))
||((alunos.get(i).getAtendimento().equals("sim")))) {
System.out.println(alunos.get(i));
System.out.println("Nota: " + alunos.get(i).getNota());
System.out.println("Atendimento: " + alunos.get(i).getAtendimento());
}
}
System.out.println(" ");
menuBoasVindas();
break;
case 4:
// se condi��o matricula for igual a Inativo imprime alunos
for(int i = 0; i < alunos.size(); i++) {
if (alunos.get(i).getMatricula().equals("Inativo")) {
System.out.println(alunos.get(i));
System.out.println("Nota: " + alunos.get(i).getNota());
System.out.println("Atendimento: " + alunos.get(i).getAtendimento());
}
}
System.out.println(" ");
menuBoasVindas();
break;
default:
System.out.println("Op��o inv�lida!");
}
}catch (InputMismatchException e){
System.out.println("Voc� tem que digitar um n�mero");
}
}
private static void listarCadastros() {
System.out.println("<<<<<<* Lista Cadastros *>>>>>>");
System.out.println(" Digite um n�mero para ver " +
"\n as pessoas cadastradas:" +
"\n1 - Alunos" +
"\n2 - Professores" +
"\n3 - Funcion�rios" +
"\n4 - Todos");
Integer listarCadastro = scanner.nextInt();
switch (listarCadastro){
case 1:
System.out.println("Alunos:");
alunos.forEach(System.out::print);
System.out.println("");
System.out.println("");
menuBoasVindas();
break;
case 2:
System.out.println("Professores:");
professores.forEach(System.out::print);
System.out.println("");
System.out.println("");
menuBoasVindas();
break;
case 3:
System.out.println("Professores:");
professores.forEach(System.out::print);
System.out.println("");
System.out.println("");
System.out.println("Pedagogos:");
pedagogos.forEach(System.out::print);
System.out.println("");
System.out.println("");
menuBoasVindas();
break;
case 4:
System.out.println("Alunos:");
alunos.forEach(System.out::print);
System.out.println("");
System.out.println("");
System.out.println("Professores:");
professores.forEach(System.out::print);
System.out.println("");
System.out.println("");
System.out.println("Pedagogos:");
pedagogos.forEach(System.out::print);
System.out.println("");
System.out.println("");
menuBoasVindas();
break;
default:
System.out.println("Op��o inv�lida!");
}
}
private static void fazerCadastros() {
try {
System.out.println("<<<<<<<<<<<< Cadastros >>>>>>>>>>>>");
System.out.println(" Bem-vindo ao setor de cadastro," +
"\n por favor escolha uma op��o:" +
"\n----------------------------------" +
"\n1 - Cadastrar Aluno" +
"\n2 - Cadastrar Professor" +
"\n3 - Cadastrar Pedagogo");
int cadastro = scanner.nextInt();
switch (cadastro) {
case 1:
condicaoAluno();
cadastroAluno();
break;
case 2:
cadastroProfessor();
break;
case 3:
cadastroPedagogo();
break;
default:
System.out.println("Op��o Inv�lida!");
}
}catch (InputMismatchException e){
System.out.println("Voc� tem que digitar um n�mero!");
}
}
private static void condicaoAluno() {
try {
System.out.println("Escolha a condi��o de matr�cula do aluno:" +
"\n-----------------------------------------" +
"\n1 - Ativo" +
"\n2 - Irregular" +
"\n3 - Atendimento pedag�gico" +
"\n4 - Inativo");
int condicaoMatricula = scanner.nextInt();
switch (condicaoMatricula) {
case 1:
matricula = "Ativo";
System.out.println("O aluno encontra-se " + matricula + ".");
break;
case 2:
matricula = "Irregular";
System.out.println("O aluno encontra-se " + matricula + ".");
break;
case 3:
matricula = "Em atendimento Pedag�gico.";
System.out.println("O aluno encontra-se " + matricula + ".");
atendimentoPedagogico();
break;
case 4:
matricula = "Inativo";
System.out.println("O aluno encontra-se " + matricula + ".");
break;
default:
System.out.println("Op��o inv�lida!");
}
}catch (InputMismatchException e){
System.out.println("Voc� tem que digitar um n�mero");
}
}
private static void atendimentoPedagogico() {
System.out.println("Digite o nome do Pedagogo:");
System.out.println("--------------------------");
String pedagogo = scanner2.nextLine();
System.out.println("Digite o nome do Aluno");
System.out.println("----------------------");
String alunopedagogo = scanner2.nextLine();
}
private static void cadastroPedagogo() {
try {
Integer id = pedagogos.size() + 1;
System.out.println("id= " + id);
System.out.println("------* Cadastro do Pedagogo *------");
System.out.println("Nome completo: ");
String nome = scanner2.nextLine();
do {
System.out.println("Telefone XX-X-XXXX-XXXX: ");
telefone = scanner.next();
if (telefone.length() < 14) {
System.out.println("Digite corretamente o n�mero do telefone.");
} else {
}
} while (!(telefone.length() == 14));
System.out.println("Data de Nascimento dia/m�s/ano");
String data = scanner.next();
do {
System.out.println("CPF XXX-XXX-XXX/XX: ");
cpf = scanner.next();
if (cpf.length() < 14) {
System.out.println("Digite corretamente o n�mero do CPF.");
} else {
}
} while (!(cpf.length() == 14));
System.out.println("Atendimento (1 ou 2): ");
Integer atendimento = scanner.nextInt();
if(atendimento==1){
System.out.println("sim");
}else {
System.out.println("n�o");
}
Pedagogo pedagogoInstanciados = new Pedagogo (nome, telefone, parseLocalDate(data), cpf, id, atendimento,0);
pedagogos.add( pedagogoInstanciados);
//String nome, String telefone, LocalDate dataNascimento, String cpf, Integer id, Integer atendimento
}catch (InputMismatchException e){
System.out.println("Voc� n�o pode inserir um n�mero");
//menuBoasVindas();
}catch (DateTimeException e){
System.out.println("Voc� informou a data de nascimento errada." +
"\nEscolha a op��o novamente.");
}
menuBoasVindas();
}
private static void cadastroProfessor() {
try {
Integer id = professores.size() + 1;
System.out.println("id= " + id);
System.out.println("------* Cadastro do Professor *------");
System.out.println("Nome completo: ");
String nome = scanner2.nextLine();
do {
System.out.println("Telefone XX-X-XXXX-XXXX: ");
telefone = scanner.next();
if (telefone.length() < 14) {
System.out.println("Digite corretamente o n�mero do telefone.");
} else {
}
} while (!(telefone.length() == 14));
System.out.println("Data de Nascimento dia/m�s/ano");
String data = scanner.next();
do {
System.out.println("CPF XXX-XXX-XXX/XX: ");
cpf = scanner.next();
if (cpf.length() < 14) {
System.out.println("Digite corretamente o n�mero do CPF.");
} else {
}
} while (!(cpf.length() == 14));
System.out.println("Forma��o acad�mica (escolha uma op��o): " +
"\n1 - Gradua��o incompleta" +
"\n2 - Gradua��o completa" +
"\n3 - Mestrado" +
"\n4 - Doutorado");
int graduacao = scanner.nextInt();
switch (graduacao){
case 1:
formacaoAcademica = "Gradua��o incompleta";
break;
case 2:
formacaoAcademica = "Gradua��o completa";
break;
case 3:
formacaoAcademica = "Mestrado";
break;
case 4:
formacaoAcademica = "Doutorado";
break;
default:
System.out.println("Op��o Inv�lida!");
}
System.out.println("Experi�ncia em desenvolvimento (escolha uma op��o): " +
"\n1 - Front-End" +
"\n2 - Back-End" +
"\n3 - Full-Stack")
;
int desenvolv = scanner.nextInt();
switch (desenvolv){
case 1:
desenvolvimento = "Front-End";
break;
case 2:
desenvolvimento = "Back-End";
break;
case 3:
desenvolvimento = "Full-Stack";
break;
default:
System.out.println("Op��o Inv�lida!");
}
System.out.println("Ativo? (sim ou n�o): ");
String atividade = scanner.next();
estado = atividade;
Professor professoresInstanciados = new Professor(nome, telefone, parseLocalDate(data), cpf, id,
formacaoAcademica, desenvolvimento, estado );
professores.add(professoresInstanciados);
//(String nome, String telefone, LocalDate dataNascimento, String cpf, Integer id,
// String formacaoAcademica, String desenvolvimento, Boolean estado) {
}catch (InputMismatchException e){
System.out.println("Voc� n�o pode inserir um n�mero");
//menuBoasVindas();
}catch (DateTimeException e){
System.out.println("Voc� informou a data de nascimento errada." +
"\nEscolha a op��o novamente.");
}
menuBoasVindas();
}
private static void cadastroAluno() {
try {
Integer id = alunos.size() + 1;
System.out.println("id= " + id);
System.out.println("------* Cadastro do Aluno *------");
System.out.println("Nome completo: ");
String nome = scanner2.nextLine();
do {
System.out.println("Telefone XX-X-XXXX-XXXX: ");
telefone = scanner.next();
if (telefone.length() < 14) {
System.out.println("Digite corretamente o n�mero do telefone.");
} else {
}
} while (!(telefone.length() == 14));
System.out.println("Data de Nascimento dia/m�s/ano");
String data = scanner.next();
do {
System.out.println("CPF XXX-XXX-XXX/XX: ");
cpf = scanner.next();
if (cpf.length() < 14) {
System.out.println("Digite corretamente o n�mero do CPF.");
} else {
}
} while (!(cpf.length() == 14));
System.out.println("Nota (0 - 10): ");
Double nota = scanner.nextDouble();
System.out.println("Atendimento Pedag�gico (sim ou n�o): ");
String atendimento = scanner.next();
if (atendimento.equals("sim")) {
pedagogos.forEach(System.out::print);
System.out.println("");
System.out.println("Digite o id do Pedagogo: ");
idPedagogo = scanner.nextInt();
Integer contadorAluno = +1;
} else {
idPedagogo = 0;
}
Aluno alunosInstanciados = new Aluno(nome, telefone, parseLocalDate(data), cpf, id, matricula, nota, atendimento, idPedagogo, contadorAluno);
alunos.add(alunosInstanciados);
throw new DigitarNumeroException();
}catch (DigitarNumeroException e){
System.out.println(e.getMessage());
}catch (InputMismatchException e){
System.out.println("Voc� n�o pode inserir um n�mero");
//menuBoasVindas();
}catch (DateTimeException e){
System.out.println("Voc� informou a data de nascimento errada." +
"\nEscolha a op��o novamente.");
//menuBoasVindas();
}
menuBoasVindas();
//String nome, String telefone, LocalDate dataNascimento, String cpf, Integer id,
// String matricula, Double nota, Integer atendimento
}
private static LocalDate parseLocalDate(String data) {
String[] arrayData = data.split("/");
int[] arrayDataInt = new int[3];
for (int i = 0; i < arrayData.length; i++) {
arrayDataInt[i] = Integer.parseInt(arrayData[i]);
}
return LocalDate.of(arrayDataInt[2], arrayDataInt[1], arrayDataInt[0]);
}
}
Packages entities
import java.time.LocalDate;
public class Aluno extends Pessoa {
// Atributos - matricula, -nota, -atenditmento (contador zero incremento +1)
private String matricula;
private Double nota;
private String atendimento;
private Integer idPedagogo;
private Integer contadorAluno;
public Integer getIdPedagogo() {
return idPedagogo;
}
public Integer getContadorAluno() {
return contadorAluno;
}
public void setContadorAluno(Integer contadorAluno) {
this.contadorAluno = contadorAluno;
}
public void setIdPedagogo(Integer idPedagogo) {
this.idPedagogo = idPedagogo;
}
// public String escreva() {
// return
// " matricula= " + matricula + '\'' +
// " nota= " + nota +
// " atendimento= " + atendimento;
// }
public Aluno(String nome, String telefone, LocalDate dataNascimento, String cpf, Integer id, String matricula, Double nota, String atendimento, Integer idPedagogo, Integer contadorAluno) {
super(nome, telefone, dataNascimento, cpf, id);
this.matricula = matricula;
this.nota = nota;
this.atendimento = atendimento;
this.idPedagogo = idPedagogo;
this.contadorAluno = contadorAluno;
}
@Override
public String toString() {
return "\n" + super.toString();
}
public String getMatricula() {
return matricula;
}
public String setMatricula(String matricula) {
this.matricula = matricula;
return matricula;
}
public Double getNota() {
return nota;
}
public void setNota(Double nota) {
this.nota = nota;
}
public String getAtendimento() {
return atendimento;
}
public void setAtendimento(String atendimento) {
this.atendimento = atendimento;
}
}
package entities;
public class DigitarNumeroException extends Exception{
public DigitarNumeroException() {
super("Você tem que digitar um número inteiro!");
}
}
package entities;
// Total de atendimentos pedagógicos realizados:
//Este item é um contador que inicia em zero. Sempre que um pedagogo realiza um atendimento este valor deve ser incrementado
//O sistema deve perguntar qual foi o pedagogo e aluno participaram do atendimento
import java.time.LocalDate;
public class Pedagogo extends Pessoa {
private Integer atendimento;
private Integer contadorPedagogo;
public Integer getContadorPedagogo() {
return contadorPedagogo;
}
public void setContadorPedagogo(Integer contadorPedagogo) {
this.contadorPedagogo = contadorPedagogo;
}
@Override
public String toString() {
return "\n" + super.toString();
}
public Pedagogo(String nome, String telefone, LocalDate dataNascimento, String cpf, Integer id, Integer atendimento, Integer contadorPedagogo) {
super(nome, telefone, dataNascimento, cpf, id);
this.atendimento = atendimento;
this.contadorPedagogo= contadorPedagogo;
}
public Integer getAtendimento() {
return atendimento;
}
public void setAtendimento(Integer atendimento) {
this.atendimento = atendimento;
}
}
package entities;
// mensagens de erro no swich
import java.time.LocalDate;
public abstract class Pessoa {
public static int setId;
// Atributos
private String nome;
private String telefone;
private LocalDate dataNascimento;
private String cpf;
private Integer id = 1; // deve ser gerado alutomaticamente pelo sistema
@Override
public String toString() {
return " id= " + id +
" nome= " + nome +
" cpf= " + cpf
;
}
public Pessoa() {
}
public Pessoa(String nome, String telefone, LocalDate dataNascimento, String cpf, Integer id) {
this.nome = nome;
this.telefone = telefone;
this.dataNascimento = dataNascimento;
this.cpf = cpf;
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public LocalDate getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(LocalDate dataNascimento) {
this.dataNascimento = dataNascimento;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public Integer getId() {
return id;
}
public Integer setId() {
return id;
}
}
package entities;
// Formação acadêmica:
//Graduação incompleta
//Graduação completa
//Mestrado
//Doutorado
//Experiência em desenvolvimento:
//Front-End
//Back-End
//Full-Stack
//Estado
//Ativo
//Inativo
import java.time.LocalDate;
public class Professor extends Pessoa {
// atributos - os 3 de cima (olhar enum em java)
private String formacaoAcademica;
private String desenvolvimento;
private String estado;
@Override
public String toString() {
return "\n" + super.toString();
}
public Professor(String nome, String telefone, LocalDate dataNascimento, String cpf, Integer id, String formacaoAcademica, String desenvolvimento, String estado) {
super(nome, telefone, dataNascimento, cpf, id);
this.formacaoAcademica = formacaoAcademica;
this.desenvolvimento = desenvolvimento;
this.estado = estado;
}
public String getFormacaoAcademica() {
return formacaoAcademica;
}
public void setFormacaoAcademica(String formacaoAcademica) {
this.formacaoAcademica = formacaoAcademica;
}
public String getDesenvolvimento() {
return desenvolvimento;
}
public void setDesenvolvimento(String desenvolvimento) {
this.desenvolvimento = desenvolvimento;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
}