Pessoal, boa tarde. É a primeira vez na vida que preciso recorrer a um fórum e enfim, espero que consigam me ajudar.
Sou bem novato em programação e etc. e estou desenvolvendo um trabalho da faculdade, que consiste em criar um sistema acadêmico simples utilizando persistência de arquivos (acho que pode se dizer assim). Enfim, Criei uma classe Coordenador que herda os atributos da classe Professor. Na classe Coordenador possuo um método para Imprimir os dados do Coordenador (inclusive os herdados do professor). Bom, o meu método imprimirCoordenador() está dando erro. Desculpem qualquer erro de escrita ou em explicação de termos técnicos. Sou bem novo na área.
package faculdadesuperti;
import java.io.FileReader;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Coordenador extends Professor {
//coordenador
public static int[] matriculaCoordenador;
public static Date[] admissaoCoordenador;
public Coordenador(int[] matriculaCoordenador, Date[] admissaoCoordenador,int[] matriculaProfessores, String[] nomeProfessores, Date[] admissaoProfessores, String[] emailProfessores, String[] telefoneProfessores) {
super(matriculaProfessores,nomeProfessores,admissaoProfessores,emailProfessores,telefoneProfessores);
this.matriculaCoordenador= matriculaCoordenador;
this.admissaoCoordenador= admissaoCoordenador;
}
public static void lerCoordenador() throws IOException, ParseException {
String dadosCoordenador = "src/coordenador.txt";
FileReader fileReader= new FileReader(dadosCoordenador);
Scanner input= new Scanner(fileReader);
int listarDadosCoordenador= 0;
while(input.hasNextLine()) {
input.nextLine();
listarDadosCoordenador++;
}
input.close();
matriculaCoordenador= new int[listarDadosCoordenador];
admissaoCoordenador= new Date[listarDadosCoordenador];
fileReader= new FileReader(dadosCoordenador);
input = new Scanner (fileReader);
input.useDelimiter("\r\n|;");
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
for (int i=0; i< listarDadosCoordenador; i++) {
int matricula = input.nextInt();
Date admissao= dateFormat.parse(input.next());
matriculaCoordenador[i] = matricula;
admissaoCoordenador[i] = admissao;
}
input.close();
}
public static void imprimirCoordenador() throws IOException, ParseException {
Coordenador Coordenador=new Coordenador();
Coordenador.lerCoordenador();
for(int i=0;i<matriculaCoordenador.length;i++) {
System.out.println(matriculaCoordenador[i] + "," + admissaoCoordenador[i]);
}
}
}
package faculdadesuperti;
import java.io.IOException;
import java.text.ParseException;
import java.util.Scanner;
public class MenuPrincipal {
static void menuPrincipal() throws IOException, ParseException {
Scanner input= new Scanner(System.in);
int opcaoSelecionada;
do {
Scanner matricula= new Scanner(System.in);
System.out.println("Escolha uma opção: ");
System.out.println("1. Secretaria Acadêmica");
System.out.println("2. Coordenador");
System.out.println("3. Professor");
System.out.println("4. Sair");
opcaoSelecionada = input.nextInt();
if(opcaoSelecionada==1) {
menuSecretaria();
} else if(opcaoSelecionada==2) {
menuCoordenacao();
} else if(opcaoSelecionada==3) {
menuProfessores();
} else if(opcaoSelecionada==4) {
System.out.println("Obrigado por utilizar nosso sistema!");
System.exit(0);
}
} while(opcaoSelecionada > 4 || opcaoSelecionada < 1);
}
private static void menuSecretaria() throws IOException, ParseException {
Scanner input= new Scanner(System.in);
int opcaoEscolhida;
do {
System.out.println("Menu da Secretaria Acadêmica");
System.out.println("1. Listar dados do coordenador de curso");
System.out.println("2. Voltar");
opcaoEscolhida= input.nextInt();
if(opcaoEscolhida == 1) {
Coordenador Coordenador= new Coordenador();
Coordenador.imprimirCoordenador();
menuSecretaria();
} else if(opcaoEscolhida == 2) {
menuPrincipal();
}
} while(opcaoEscolhida < 1 || opcaoEscolhida > 2);
}
private static void menuCoordenacao() throws IOException, ParseException {
Scanner input= new Scanner(System.in);
int opcaoEscolhida;
do {
System.out.println("Menu da Coordenação");
System.out.println("1. Listar dados do professor pela matrícula");
System.out.println("2. Listar todos os professores");
System.out.println("3. Listar dados do aluno pelo RA");
System.out.println("4. Listar todos os alunos");
System.out.println("5. Voltar");
opcaoEscolhida= input.nextInt();
if(opcaoEscolhida == 1) {
/*listarDadosProfessor*/
} else if(opcaoEscolhida == 2) {
/*listarTodosProfessores*/
} else if(opcaoEscolhida == 3) {
/*listarAlunosPeloRa*/
} else if(opcaoEscolhida == 4) {
/*listarTodosAlunos*/
} else if(opcaoEscolhida == 5) {
menuPrincipal();
}
} while(opcaoEscolhida < 1 || opcaoEscolhida > 5);
}
private static void menuProfessores() throws IOException, ParseException {
Scanner input= new Scanner(System.in);
int opcaoEscolhida;
do {
System.out.println("Menu de Professores");
System.out.println("1. Listar alunos em minha disciplina");
System.out.println("2. Alimentar banco de notas");
System.out.println("3. Alimentar banco de faltas");
System.out.println("4. Gerar ata");
System.out.println("5. Voltar");
opcaoEscolhida = input.nextInt();
if(opcaoEscolhida == 1) {
/*listarAlunosMinhaDisciplina*/
} else if(opcaoEscolhida == 2) {
/*alimentarBancoNotas*/
} else if(opcaoEscolhida == 3) {
/*alimentarBancoFaltas*/
} else if(opcaoEscolhida == 4) {
/*gerarAta*/
} else if(opcaoEscolhida == 5) {
menuPrincipal();
}
} while(opcaoEscolhida < 1 || opcaoEscolhida > 5);
}
}
package faculdadesuperti;
import java.io.FileReader;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Professor {
//professores
public static int[] matriculaProfessores;
public static String[] nomeProfessores;
public static Date[] admissaoProfessores;
public static String[] emailProfessores;
public static String[] telefoneProfessores;
public Professor(int[] matriculaProfessores, String[] nomeProfessores, Date[] admissaoProfessores, String[] emailProfessores, String[] telefoneProfessores) {
this.matriculaProfessores = matriculaProfessores;
this.nomeProfessores = nomeProfessores;
this.admissaoProfessores = admissaoProfessores;
this.emailProfessores = emailProfessores;
this.telefoneProfessores = telefoneProfessores;
}
public int[] getMatricula() {
return matriculaProfessores;
}
public String[] getNome() {
return nomeProfessores;
}
public Date[] getAdmissao() {
return admissaoProfessores;
}
public String[] getEmail() {
return emailProfessores;
}
public String[] getTelefone() {
return telefoneProfessores;
}
public static void lerProfessor()throws IOException, ParseException {
String dadosProfessores = "src/professores.txt";
FileReader fileReader = new FileReader(dadosProfessores);
Scanner input = new Scanner (fileReader);
int listarProfessores= 0;
while(input.hasNextLine()) {
input.nextLine();
listarProfessores++;
}
input.close();
matriculaProfessores = new int[listarProfessores];
nomeProfessores = new String[listarProfessores];
admissaoProfessores = new Date[listarProfessores];
emailProfessores = new String[listarProfessores];
telefoneProfessores = new String[listarProfessores];
fileReader = new FileReader (dadosProfessores);
input = new Scanner(fileReader);
input.useDelimiter(";|\r\n");
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
for (int i = 0; i < listarProfessores; i++) {
int matricula = input.nextInt();
String nome = input.next();
Date admissaoProf = dateFormat.parse(input.next());
String email = input.next();
String telefone = input.next();
matriculaProfessores[i]= matricula;
nomeProfessores[i]= nome;
admissaoProfessores[i]= admissaoProf;
emailProfessores[i]= email;
telefoneProfessores[i]= telefone;
}
input.close();
}
}

