tenho um metodo que faz uma busca em uma lista, dentro da classe de teste quando coloco assim:
CadaDia.buscaConsulta(“opa”);
o metodo me retorna o valor certo.
porém quando é pedido do teclado colocando o mesmo parametro o metodo retorna que nao existe dentro da lista, nao sei o que fazer nem pq esta dando isso
String nome = null;
nome = entrada.next();
CadaDia.buscaConsulta(nome);
po, ainda nao terminou kkk
o metodo que chama é esse
public static int buscaConsulta(String nome){
Consulta c1 = new Consulta(nome, 0,0,0,0);
if(consulta.search(c1) >= 0){
System.out.print(consulta.get(consulta.search(c1)));
return consulta.search(c1);
}
System.out.println("Essa consulta nao consta no sistema");
return -1;
}
e o search que o buscaConsulta chama é esse, de uma classe para fazer uma lista simplesmente encadeada:
public int search(E element) {
// percorre o encadeamento até encontrar o elemento
Node<E> current = head;
int i = 0;
while (current != null) {
if (element.equals(current.getElement()))
return i;
i++;
current = current.getNext();
}
// se chegar até aqui, é porque não encontrou
return -1;
}
Não tem sentido não localizar se for digitado, sendo que o valor é o mesmo. Já se certificou que o valor é exatamente o mesmo? Printa no console dentro do método.
Tem certeza que o ambiente onde testou foi exatamente igual para ambas as situações?