Comando para busca inteligente

Olá,

Eu estava aqui fazendo um sistema de busca de Clientes por código e nome. Porém, o buscador por nome só funciona se o nome for digitado corretamente.

Exemplo:

Cliente cadastro: João
Busca feita: Jo (não irá funcionar pois não é exatamente igual).

Código que busca pelo nome:

//NomeProduto.cod é o código dos clientes
//buscar é a busca que foi digitada
//ArmazenaProduto.addProds é minha ArrayList.

for (int i =0; i<=NomeProduto.cod;i++){
				if (buscar.equals(ArmazenaProduto.addProds.get(i))){
					cod=i;
					break;
					
				}}

Mais uma coisa: eu tava querendo mudar meu for para verificar pelo size da ArrayList e não pelo total de código, mas sem criar um objeto de instância para classe ArmazenaProduto.

Ex de como eu queria:

//isso aqui da erro de sintaxe \/
for (int i =0; i<ArmazenaProduto.size.addProds;i++){

Grato desde já,

Lukas.

Ao invés de você usar o equals use o contais.
ex:

for(String nomeLista : lista){
if(nomeLista.toLowerCase().contais(busca.toLowerCase())){
//faz alguma coisa.
}
}

Não entendi a questão de buscar pelo size.

[quote=kleberdamasco]Ao invés de você usar o equals use o contais.
ex:

for(String nomeLista : lista){
if(nomeLista.toLowerCase().contais(busca.toLowerCase())){
//faz alguma coisa.
}
}

Não entendi a questão de buscar pelo size.[/quote]

Grato pelo resposta.

Referente ao size, eu quis dizer que ao invés de eu fazer ele buscar entre os códigos, fazer o for buscar passar pelo size da ArrayList ou algum comando que percorra toda ArrayList, entendes? Sei que o for each faz isso, mas não me lembro exatamente como usá-lo.

Lembrando que minha ArrayList está em outra classe e é static.

o exemplo do for each, foi o que fiz ali acima.

Exato, mas não lembro muito bem como usá-lo.

Dê uma olhada:

/**
EstoqueProduto = getters e setters dos produtos
ArmazenaProduto.addProds = minha Classe e ArrayList
Dando o seguinte erro no contains:
a solução diz pra criar um método contains(string)
ou criar um cast

*/

for ( EstoqueProdutos e : ArmazenaProduto.addProds ) {
				int i=0;
				
				if(ArmazenaProduto.addProds.get(i).contains(buscar)){
					i++;
				}
				
			}

Problema resolvido! Obrigado kleberdamasco.

que rolo ehehe, mais se deu certo pra ti blz.

lukas, kara passa o algoritmo e a logica de seu programa gostei dele e vou tentar criar algo semelhante para estudo. Escreva as descrições do programa por favor.

Valeu