Estou tendo uns probleminhas pra conseguir fazer uma consulta em uma ArrayList através de nome.
Eu criei uma classe chamada Interface que recebe do usuário as informações e chama os métodos da classe Cadastro que realiza as operações. Quando eu digito um nome para ser realiado a consulta, ao inves de me retornar o nome encontrado ou uma exceção dizendo que o nome nao existe, ele simplesmente volta para o menu principal!!!
O que pode estar acontecendo
Vou colocar aqui os métodos.
Método ConsultaPacienteNome da classe Interface:
[code] private static void consultaPacienteNome()
{
try
{
String nome;
Scanner entrada = new Scanner(System.in);
Cadastro cadastro = new Cadastro();
System.out.print("\nCONSULTA PACIENTE POR NOME:\n");
System.out.print("\nNome: ");
nome = entrada.nextLine();
System.out.println(cadastro.consultaPacienteNome(nome));
entrada.nextLine();
}
catch (Exception e)
{
e.getMessage();
}
}
[/code]
Agora o metodo consultaPacienteNome da classe cadastro
public Paciente consultaPacienteNome(String nome) throws SisDenException
{
for(Paciente objPaciente : listaPacientes)
{
if(objPaciente.getNome().equalsIgnoreCase(nome))
{
return objPaciente;
}
}
throw new SisDenException("Paciente não encontrado!");
}
public void incluirPaciente(Paciente objPaciente) throws SisDenException
{
Scanner digita = new Scanner(System.in);
for(Paciente obj : listaPacientes)
{
if(obj.getCpf().equals(objPaciente.getCpf()))
{
throw new SisDenException("Paciente já cadastrado, confira os dados e tente novamente!");
}
}
listaPacientes.add(objPaciente);
System.out.println("\nPaciente cadastrado com sucesso, pressione qualquer tecla para continuar!");
digita.nextLine();
}
Eu consigo incluir novos pacientes e armazeno nos ArrayLists e no método de consulta por nome adicionei um if para testar se a ArrayList esta vazia, mas sempre que faço a consulta, agora ela acusa que esta vazia.
Tentei incluir um paciente exatamente igual a um ja cadastrado e o programa aceitou, será que nao esta incluindo no ArrayList??