Segue meu código
Classe Curso
[code]import java.util.List;
public class Curso {
protected int codCurso;
protected String nCurso;
protected Professor professor;
protected List alunos;
// Get e Set codCurso========================
public int getCodCurso() {
return codCurso;
}
public void setCodCurso(int codCurso) {
this.codCurso = codCurso;
}
// Get e Set codCurso========================
public String getNCurso() {
return nCurso;
}
public void setNCurso(String nomeCurso) {
nCurso = nomeCurso;
}
// Get e Set Professor
public Curso getProfessor() {
return this.getProfessor();
}
public void setProfessor(Professor professor) {
this.professor = professor;
}
// Get e set List Aluno
public List getAlunos() {
return alunos;
}
public void setAlunos(List alunos) {
this.alunos = alunos;
}
}[/code]
Classe Aluno
[code]import java.util.*;
public class Aluno {
Scanner scanner = new Scanner(System.in);
protected int matAluno;
protected String nAluno;
protected String login;
protected String senha;
// Get e Set mtAluno ====================================
public int getMatAluno() {
return matAluno;
}
public void setMatAluno(int mtAluno) {
this.matAluno = mtAluno;
}
// Get e Set nAluno =====================================
public String getNAluno() {
return nAluno;
}
public void setNAluno(String aluno) {
nAluno = aluno;
}
// Get e Set login ======================================
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
// Get e Set senha ======================================
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
// Cadastro do Aluno ===================================
public void cadastraAluno(){
System.out.println("Matricula: ");
this.setMatAluno(scanner.nextInt());
System.out.println("Nome: ");
this.setNAluno(scanner.next());
System.out.println("Login: ");
this.setLogin(scanner.next());
System.out.println("Senha: ");
this.setSenha(scanner.next());
}
//Mostra os cadastros dos alunos ===========================
public void exibeAluno(){
System.out.println("Matricula: " + getMatAluno());
System.out.println("Nome: " + getNAluno());
System.out.println("Login: " + getLogin());
System.out.println("Senha: " + getSenha());
}
}[/code]
Classe Professor
[code]import java.util.Scanner;
public class Professor {
Scanner scanner = new Scanner(System.in);
protected int matProf;
protected String nProf;
protected String login;
protected String senha;
// Get e Set mtProf ====================================
public int getMatProf() {
return matProf;
}
public void setMatProf(int mtProf) {
this.matProf = mtProf;
}
// Get e Set nProf ====================================
public String getNProf() {
return nProf;
}
public void setNProf(String prof) {
this.nProf = prof;
}
// Get e Set login ====================================
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
// Get e Set senha ====================================
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}[/code]
Classe Administrador
[code]public class Administrador {
protected String login;
protected String senha;
// Get e SetLogin ===========================
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
// Get e SetSenha ============================
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}[/code]
[code]import java.util.*;
public class Principal {
Administrador administrador = new Administrador();
List<Aluno> alunos = new ArrayList<Aluno>();
List<Professor> professores = new ArrayList<Professor>();
List<Curso> cursos = new ArrayList<Curso>();
int i = 0;
public void logar(int opcao) {
Scanner scanner = new Scanner(System.in);
String login;
String senha;
System.out.println("Digite seu login e senha!*\n");
System.out.println("Login: ");
login = scanner.next();
System.out.println("Senha: ");
senha = scanner.next();
switch (opcao) {
// == Caso 01 - Se o usuário se identificar como Administrador ==
// ********************
case 1:
int opAdm = 0;
if (administrador.getLogin().equals(login)
&& administrador.getSenha().equals(senha)) {
System.out.println("Autenticação com Sucesso!");
// logar como administrador
do {
System.out.println("Sistema Acadêmico\n");
System.out.println("* Usuário Administrador *\n");
System.out.println("1- Cadastrar Curso");
System.out.println("2- Cadastrar Professor(a)");
System.out.println("3- Cadastrar Aluno");
System.out.println("4- Relatório Professores");
System.out.println("5- Relatório Alunos");
System.out.println("6- Relatório Curso");
System.out.println("7- Sair");
opAdm = scanner.nextInt();
switch (opAdm) {
case 1:
// ============= Cadastro do Curso ================
Curso curso = new Curso();
System.out.println("*** Cadastro Curso ***\n\n");
System.out.println("Digite o Código: ");
curso.setCodCurso(scanner.nextInt());
System.out.println("Digite o nome: ");
curso.setNCurso(scanner.next());
// ******AQUI TÁ O PROBLEMA
System.out.println("Escolha o Professor do Curso: ");
for(Professor prof: professores){
System.out.println(i +"" +cursos.get(i).getProfessor());
}
int opCurso = scanner.nextInt();
for(Professor prof: professores){
if (i == opCurso){
Curso guardaOp = cursos.get(i).getProfessor();
}
}
cursos.add(curso);
break;
case 2:
// =========== Cadastro do Professor ==============
Professor prof = new Professor();
System.out.println("*** Cadastro Professor ***\n\n");
System.out.println("Digite a Matricula: ");
prof.setMatProf(scanner.nextInt());
System.out.println("Digite o nome: ");
prof.setNProf(scanner.next());
System.out.println("Digite o Login: ");
prof.setLogin(scanner.next());
System.out.println("Digite a Senha: ");
prof.setSenha(scanner.next());
professores.add(prof);
break;
case 3:
// ============== Cadastro do Aluno ==================
Aluno aluno = new Aluno();
System.out.println("*** Cadastro Aluno ***\n\n");
System.out.println("Digite a Matricula: ");
aluno.setMatAluno(scanner.nextInt());
System.out.println("Digite o nome: ");
aluno.setNAluno(scanner.next());
System.out.println("Digite o Login: ");
aluno.setLogin(scanner.next());
System.out.println("Digite a Senha: ");
aluno.setSenha(scanner.next());
alunos.add(aluno);
break;
case 4:
// ====== Relatórios Professores ==========
System.out.println("Sistema Acadêmico\n");
System.out.println("* Lista Professores *\n");
for (i = 0; i < professores.size(); i++) {
System.out.println("Matricula: "
+ professores.get(i).getMatProf());
System.out.println("Professor(a): "
+ professores.get(i).getNProf());
System.out.println("Login: "
+ professores.get(i).getLogin());
System.out.println("Senha: "
+ professores.get(i).getSenha() + "\n");
}
break;
case 5:
// ============= Relatórios Alunos ================
System.out.println("Sistema Acadêmico\n");
System.out.println("* Listas Alunos *\n");
for (i = 0; i < alunos.size(); i++) {
System.out.println("Matricula: "
+ alunos.get(i).getMatAluno());
System.out.println("Aluno: "
+ alunos.get(i).getNAluno());
System.out.println("Login: "
+ alunos.get(i).getLogin());
System.out.println("Senha: "
+ alunos.get(i).getSenha() + "\n");
}
break;
case 6:
// ============ Relatórios Cursos ================
System.out.println("Sistema Acadêmico\n * Listas Cursos *\n");
System.out.println("Digite o Código do Curso de sua preferência: ");
for (Curso c: cursos) {
System.out.println(cursos.get(i).getCodCurso());
System.out.println(cursos.get(i).getNCurso());
//System.out.println(cursos.get(i).getAlunos());
}
// ******AQUI TÁ O PROBLEMA
int opCodCurso = scanner.nextInt();
for(Curso c: cursos){
if(opCodCurso == i){
System.out.println(cursos.get(i).getCodCurso());s
}
}
//}
//}
break;
default:
System.out.println("Opção Inválida!");
break;
}
} while (opAdm != 7);
} else {
System.out.println("Erro de Autenticação!");
}
break;
// ========= Caso 02 - Se o usuário se identificar como Professor ================
// ********************
case 2:
for (Professor prof : professores) {
if (prof.getLogin().equals(login)
&& (prof.getSenha().equals(senha))) {
// if (((Professor) professores).getLogin().equals(login) &&
// ((Professor) professores).getSenha().equals(senha)) {
System.out.println("Autenticação com Sucesso!");
System.out.println("Sistema Acadêmico\n");
System.out.println("* Usuário Professor *\n");
System.out.println("1- Exibe\n 2-Sair");
int opProf = scanner.nextInt();
do {
switch (opProf) {
case 1:
// ====== Apenas exibe uma mensagem =========
System.out.println("Não tem !!! xD\n");
break;
default:
System.out.println("Opção Inválida!");
break;
}
System.out.println("Sistema Acadêmico\n");
System.out.println("* Usuário Professor *\n");
System.out.println("1- Exibe\n 2-Sair");
opProf = scanner.nextInt();
} while (opProf != 2);
} else {
System.out.println("Erro de Autenticação!");
}
}
break;
// ====== Caso 03 - Se o usuário se identificar como Aluno ========
// ********************
case 3:
for (Aluno aluno : alunos) {
if (aluno.getLogin().equals(login)
&& (aluno.getSenha().equals(senha))) {
System.out.println("Autenticação com Sucesso!");
System.out.println("Sistema Acadêmico\n");
System.out.println("* Usuário Aluno *\n");
System.out.println("1- Exibe\n 2-Sair");
int opAluno = scanner.nextInt();
do {
switch (opAluno) {
case 1:
// ====== Apenas exibe uma mensagem ======
System.out.println("Não tem !!! xD\n");
break;
default:
System.out.println("Opção Inválida!");
break;
}
System.out.println("Sistema Acadêmico\n");
System.out.println("* Usuário Aluno *\n");
System.out.println("1- Exibe\n 2-Sair");
opAluno = scanner.nextInt();
} while (opAluno != 2);
} else {
System.out.println("Erro de Autenticação!");
}
}
break;
// =================== Opção Inválida =================
// ********************
default:
System.out.println("Opção Inválida!");
break;
}
}
// ========== PROGRAMA PRINCIPAL (INICIO) ============
public static void main(String[] args) {
Principal principal = new Principal();
principal.administrador.setLogin("administrador");
principal.administrador.setSenha("senha");
Scanner scanner = new Scanner(System.in);
int opcao = 0;
System.out.println("Sistema Acadêmico\n\nSelecione a opção:");
System.out
.println("1-Administrador \n2-Professor(a) \n3-Aluno \n4-Sair");
opcao = scanner.nextInt();
while (opcao != 4) {
principal.logar(opcao);
System.out.println("Sistema Acadêmico\n\nSelecione a opção:");
System.out
.println("1-Administrador \n2-Professor(a) \n3-Aluno \n4-Sair");
opcao = scanner.nextInt();
}
}
}
// =========== PROGRAMA PRINCIPAL (FIM) =============[/code]