Quando o usuário digitar “a” o ArrayList devolve “Anna” e “Alice”. Logo em seguida ele digita “n” e devolve somente “Anna”.
Aqui chega o momento que estagnei.
Tentei:
for(int i = 0; i < lista.size(); i++)
{
if(lista.contains(nome))
{
return nome;
}
}
ou mesmo lista.equals(nome);
Como eu faria algo como lista.contains(a%), tipo o like do SQL.
Valeu.
Nesse caso, me retorna somente se eu digitar o nome completo, ou seja, se eu digitar “An” não me volta “Ana”. Para me voltar “Ana” tenho que digitar completamente “Ana”.
pq vc ta fazendo lista.contains(nome)… faca if (retorno.contains(nome)) igual fiz no comentario acima. Lembrando que como vc ta colocando return, ele vai pegar o primeiro e vai sair do metodo. Faça um System.out.println pra ver todos resultados
Coloquei meu retorno como uma list, assim ele retorna tudo dentro da lista.
Mas ficou 50% do quê eu quero.
Agora quando eu digito “a” ele me volta “Ana”, mas “Alice” ainda não.
Me surgiu outra questão. Como eu faço para ele comparar independentemente de ser caixa alta ou baixa?
Ele ta retornando apenas um resultado, pq vc ta dando o retorno dentro do “for”, igual eu disse acima também
tira esse return dentro do if, e no final do método retorna o listaRetorno.
Sobre ignorar o case, acho que não existe um containsIgnoreCase, entao uma solução seria colocar as duas Strings em lowerCase, ou upperCase na comparacao
if (retorno.toLowerCase().contains(nome.toLowerCase())