Olá pessoal, sou novo aqui e vim aqui porque to quebrando a cabeça e preciso de ajuda.
Estou tentando criar um programinha básico que tem 2 opções, a primeira é cadastrar curriculum de candidatos, e a segunda é a parte em que tenho que emplementar filtros pra pocurar por eles.
São quatro classes mais o main, sem uso de herança, nem interface, ai vão elas:
Classe Candidato
public class Candidato {
private String nome, sexo, endereço;
private int contato;
private double salarioPretendido;
private ArrayList<AreaPretendida> listaAreas = new ArrayList<AreaPretendida>();
private ArrayList<EmpregosAnteriores> listaEmpregos = new ArrayList<EmpregosAnteriores>();
private ArrayList<Formacao> listaFormacao = new ArrayList<Formacao>();
private ArrayList<Candidato> listaCandidatos = new ArrayList<Candidato>();
public Candidato(String nome,String sexo, String endereco, int contato, double salarioPretendido){
this.nome = nome;
this.sexo = sexo;
this.endereço = endereco;
this.contato = contato;
this.salarioPretendido = salarioPretendido;
}
public Candidato(){
this.nome = "";
this.sexo = "";
this.endereço = "";
this.contato = 0;
this.salarioPretendido = 0;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSexo() {
return sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
public String getEndereço() {
return endereço;
}
public void setEndereço(String endereço) {
this.endereço = endereço;
}
public int getContato() {
return contato;
}
public void setContato(int contato) {
this.contato = contato;
}
public double getSalarioPretendido() {
return salarioPretendido;
}
public void setSalarioPretendido(double salarioPretendido) {
this.salarioPretendido = salarioPretendido;
}
public ArrayList<AreaPretendida> getListaAreas() {
return listaAreas;
}
public void setListaAreas(ArrayList<AreaPretendida> listaAreas) {
this.listaAreas = listaAreas;
}
public ArrayList<EmpregosAnteriores> getListaEmpregos() {
return listaEmpregos;
}
public void setListaEmpregos(ArrayList<EmpregosAnteriores> listaEmpregos) {
this.listaEmpregos = listaEmpregos;
}
public ArrayList<Formacao> getListaFormacao() {
return listaFormacao;
}
public void setListaFormacao(ArrayList<Formacao> listaFormacao) {
this.listaFormacao = listaFormacao;
}
public ArrayList<Candidato> getListaCandidatos() {
return listaCandidatos;
}
public void setListaCandidatos(ArrayList<Candidato> listaCandidatos) {
this.listaCandidatos = listaCandidatos;
}
public String toString(){
return nome+"\n"+
sexo+"\n"+
endereço+"\n"+
contato+"\n"+
salarioPretendido;
}
}
Classe Area pretendida
public class AreaPretendida {
private String areaPretendida;
public String getAreaPretendida() {
return areaPretendida;
}
public void setAreaPretendida(String areaPretendida) {
this.areaPretendida = areaPretendida;
}
public void cadastraArea(){
String msg =" Escolha a(s) area(s) pretendidas: \n\n"+
"1 - Administração\n"+
"2 - Serviços gerais\n"+
"3 - Secretariado\n"+
"4 - Educação\n"+
"5 - Programação\n"+
"6 - Outra\n"+
"0 - Sair";
int op;
op = Integer.parseInt(JOptionPane.showInputDialog(msg));
switch(op){
case 1:
areaPretendida = "Administração";
break;
case 2:
areaPretendida = "Serviços gerais";
break;
case 3:
areaPretendida = "Secretariado";
break;
case 4:
areaPretendida = "Educação";
break;
case 5:
areaPretendida = "Programação";
break;
case 6:
areaPretendida = JOptionPane.showInputDialog("Qual outra area: ");
}
}
}
Classe EmpregosAnteriores
public class EmpregosAnteriores {
private String empresa, cargo, motivoSaida;
private double salario;
public void EmpresaAnteiores(String empresa, String cargo, String motivoSaida, double salario){
this.empresa = empresa;
this.cargo = cargo;
this.motivoSaida = motivoSaida;
this.salario = salario;
}
public void EmpresaAnteriores(){
this.empresa = "";
this.cargo = "";
this.motivoSaida = "";
this.salario = 0;
}
public String getEmpresa() {
return empresa;
}
public void setEmpresa(String empresa) {
this.empresa = empresa;
}
public String getCargo() {
return cargo;
}
public void setCargo(String cargo) {
this.cargo = cargo;
}
public String getMotivoSaida() {
return motivoSaida;
}
public void setMotivoSaida(String motivoSaida) {
this.motivoSaida = motivoSaida;
}
public double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
public String toString(){
return empresa+"\n"+cargo+"\n"+motivoSaida+"\n"+salario;
}
}
Classe Formacao
public class Formacao {
private String ensinoMedio, ensinoSuperior;
private ArrayList<String> listaCursos = new ArrayList<String>();
public Formacao(String ensinoMedio, String ensinoSuperior, ArrayList<String> listaCursos) {
this.ensinoMedio = ensinoMedio;
this.ensinoSuperior = ensinoSuperior;
this.listaCursos = listaCursos;
}
public Formacao(){
this.ensinoMedio = "";
this.ensinoSuperior = "";
this.listaCursos = new ArrayList<String>();
}
public String getEnsinoMedio() {
return ensinoMedio;
}
public void setEnsinoMedio(String ensinoMedio) {
this.ensinoMedio = ensinoMedio;
}
public String getEnsinoSuperior() {
return ensinoSuperior;
}
public void setEnsinoSuperior(String ensinoSuperior) {
this.ensinoSuperior = ensinoSuperior;
}
public ArrayList<String> getListaCursos() {
return listaCursos;
}
public void setListaCursos(ArrayList<String> listaCursos) {
this.listaCursos = listaCursos;
}
public String toString(){
return ensinoMedio+"\n"+ensinoSuperior+"\n"+listaCursos;
}
}
Class Principal
public class Principal {
public static void main(String[] args) {
String msg = "Bem vindos ao Banco de Talentos.\n\n"+
"Por favor, o que deseja fazer:\n"+
"1 - Cadastrar funcionário.\n"+
"2 - Área administrativa\n"+
"3 - Encerrar o programa";
int op;
do{
op = Integer.parseInt(JOptionPane.showInputDialog(msg));
switch (op){
case 1:
Candidato c = new Candidato();
c.setNome(JOptionPane.showInputDialog("Nome candidato: "));
c.setEndereço(JOptionPane.showInputDialog("Endereço candidato: "));
c.setContato(Integer.parseInt(JOptionPane.showInputDialog("Telefone candidato: ")));
c.setSalarioPretendido(Integer.parseInt(JOptionPane.showInputDialog("Salario pretendido: ")));
c.getListaCandidatos().add(c);
AreaPretendida a = new AreaPretendida();
int esc1 = Integer.parseInt(JOptionPane.showInputDialog("Quantas areas você pretende atuar: "));
for(int i=1; i<= esc1; i++){
a.cadastraArea();
c.getListaAreas().add(a);
}
EmpregosAnteriores e = new EmpregosAnteriores();
int esc2 = Integer.parseInt(JOptionPane.showInputDialog("Quantos empregos ja teve: "));
for(int i=1; i<= esc2; i++){
e.setEmpresa(JOptionPane.showInputDialog("Informe antiga empresa: "));
e.setCargo(JOptionPane.showInputDialog("Cargo antigo: "));
e.setMotivoSaida(JOptionPane.showInputDialog("Motivo da saida: "));
e.setSalario(Integer.parseInt(JOptionPane.showInputDialog("Salario antigo: ")));
c.getListaEmpregos().add(e);
}
Formacao f = new Formacao();
f.setEnsinoMedio(JOptionPane.showInputDialog("Possui ensino médio s/n?"));
f.setEnsinoSuperior(JOptionPane.showInputDialog("Possui insino superior? s/n"));
int p = Integer.parseInt(JOptionPane.showInputDialog("Possui quantos cursos?"));
for(int i=1; i<=p;i++){
if(p==1){
f.getListaCursos().add(JOptionPane.showInputDialog("Qual curso: "));
}else
f.getListaCursos().add(JOptionPane.showInputDialog("Informe "+(i)+"º curso: "));
}
c.getListaFormacao().add(f);
break;
case 2:
String mssg = "Escolha uma das seguintes opções: \n\n"+
"Listar candidatos por: \n"+
"1 - Por nome\n"+
"2 - Por sexo\n"+
"3 - Por área pretendida\n"+
"4 - Por salário pretendida\n"+
"5 - Por cursos\n"+
"6 - Que possuem ensino médio\n"+
"7 - Que possuem ensino superior\n"+
"8 - Empregos anteriores\n"+
"9 - Por empresa\n"+
"10 - Por cargo\n"+
"0 - Sair";
int op2;
do{
op2 = Integer.parseInt(JOptionPane.showInputDialog(mssg));
switch (op2){
case 1:
//NÃO ESTOU CONSEGUINDO DESENVOLVER ESSA PARTE
String mmsg1 = "Nomes\n\n";
for(int i; i < c.getListaCandidatos().size(); i++){
JOptionPane.showMessageDialog(null, mmsg1);
}
break;
case 2:
break;
case 3:
//for(AreaPretendida ar :
case 10:
break;
}
}while(op2 != 0);
}
}while(op != 3);
}
}
Por favor, espero que possam me ajudar.
Desde já agradeço.