Galera, estou com um problema em inserir dados em uma ArrayList.
Já revisei o codigo varias vezes e não achei o erro.
Codigo da Classe Atendente:
[code]package dados;
import java.util.GregorianCalendar;
import utilitarios.LtpUtil;
public class Atendente implements Comparable{
private String nome;
private String cpf;
private String telefoneFixo;
private String telefoneMovel;
private String email;
private GregorianCalendar dataAdmissao;
public Atendente(String nome, String cpf, String telefoneFixo,
String telefoneMovel, String email, GregorianCalendar dataAdmissao) {
super();
this.nome = nome;
this.cpf = cpf;
this.telefoneFixo = telefoneFixo;
this.telefoneMovel = telefoneMovel;
this.email = email;
this.dataAdmissao = dataAdmissao;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getTelefoneFixo() {
return telefoneFixo;
}
public void setTelefoneFixo(String telefoneFixo) {
this.telefoneFixo = telefoneFixo;
}
public String getTelefoneMovel() {
return telefoneMovel;
}
public void setTelefoneMovel(String telefoneMovel) {
this.telefoneMovel = telefoneMovel;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public GregorianCalendar getDataAdmissao() {
return dataAdmissao;
}
public void setDataAdmissao(GregorianCalendar dataAdmissao) {
this.dataAdmissao = dataAdmissao;
}
public String toString(){
return "Nome: " + nome + "\n"
+ "CPF: " + cpf + "\n"
+ "Telefone Fixo: " + telefoneFixo + "\n"
+ "Telefone Movel: " + telefoneMovel + "\n"
+ "E-mail: " + email + "\n"
+ "Data de Admissão: " + LtpUtil.formatarData(dataAdmissao, "dd/MM/yyyy");
}
@Override
public int compareTo(Atendente o) {
return cpf.compareToIgnoreCase(o.getCpf());
}
}
[/code]
Codigo da inserção dos dados.
(Obs: Pacotes LTPUTIL - Consolo São arquivos meus, já estão inseridos certinhos)
[code]
private static void cadAtendente() {
String nome;
String cpf;
String telefoneFixo;
String telefoneMovel;
String email;
String opcao;
GregorianCalendar dataAdmissao = new GregorianCalendar();
while (true) {
nome = Console.readLine("Nome do Atendente: ").trim();
if (nome.equals("") || LtpUtil.contarPalavras(nome) < 2) {
System.out.println("Nome inválido.");
} else
break;
}
while (true) {
cpf = Console.readLine("CPF do Atendente: ");
if (cpf == "" || !LtpUtil.validarCPF(cpf)) {
System.out.println("CPF Invalido");
} else
break;
}
while (true) {
telefoneFixo = Console.readLine("Telefone Fixo: ");
if (telefoneFixo.length() < 8) {
System.out.println("Telefone inválido.");
} else
break;
}
while (true) {
telefoneMovel = Console.readLine("Telefone Movel: ");
if (telefoneMovel.length() < 8) {
System.out.println("Telefone inválido.");
} else
break;
}
while (true) {
email = Console.readLine("E-mail do cliente: ");
if (email.equals("") || !LtpUtil.validarEmail(email)) {
System.out.println("E-mail inválido.");
} else
break;
}
opcao = Console.readLine("Deseja cadastrar o Atendente acima?[S/N]\nOpção: ");
if (opcao.equalsIgnoreCase("S")) {
try {
comercial.cadastrarAtendente(new Atendente(nome, cpf, telefoneFixo, telefoneMovel, email, dataAdmissao));
System.out.println("Atendente Cadastrado com Sucesso.");
pause();
} catch (Exception e) {
System.out.println(e.getMessage());
pause();
}
} else if (opcao.equalsIgnoreCase("N")) {
System.out.println("Cancelado o cadastro do Atendente.");
pause();
} else {
System.out
.println("Opção invalida, cancelado o cadastro do atendente.");
pause();
}
} [/code]
Codigo da hora de adicionar o Atendente na ArrayList:
private ArrayList<Atendente> listaAtendente = new ArrayList<>();
public void cadastrarAtendente(Atendente obj){
listaAtendente.add(obj);
}
}
Tenho um outro programa que fiz que está funcionando perfeitamente, não estou entendendo o erro desse.
Obrigado Pela ajuda,
Desde já
Jorge Back.