Procura em um array de strings

Olá pessoal, boa noite! (Espero estar postando minha dúvida no local certo)
Preciso criar um pequeno aplicativo para J2ME seguindo os princípios de CRUD para a próxima aula de quinta feira que terei. No caso, eu decidi criar um programa que grava o nome de um livro e o seu ISBN.
Já fiz funcionar a parte de criação de novas entradas e listagem dos itens, mas ainda preciso adicionar uma função para realizar search e outra para deletar entradas.

Aí vem o problema. Como sou iniciante, fiz tudo da forma mais simples possível utlizando duas arrays de strings e um contador para cada vez que algo é adicionado. O problema é que não faço idéia de qual a melhor forma de procurar algo nas arrays, e se é possível ignorar o Lowcase e Uppercase do que for procurado. Basta só comparar a string procurada com a da array? E para “deletar” algo, basta com que eu substitua o valor da string por um valor vazio? Bom, vou postar o código aqui. Grato pela atenção!

public void commandAction(Command command, Displayable displayable) { if (displayable == alert) { if (command == backCommand) { switchDisplayable(null, getFormPrincipal()); } } else if (displayable == formPrincipal) { if (command == cmdExibir) { getList().deleteAll(); for(int i = 0; i<=contador; i++){ if(nome[i]!=null){ getList().append(nome[i] + " - " + isbn[i], null); } } switchDisplayable(null, getList()); } else if (command == cmdInserir) { String nomeTemp = getTextFieldNome().getString(); String isbnTemp = getTextFieldISBN().getString(); if(nomeTemp.equals("")||isbnTemp.equals("")){ //Mensagem de erro na insercao getAlert().setString("Algum campo esta vazio!"); } else{ nome[contador] = nomeTemp; isbn[contador] = isbnTemp; contador++; //Gravacao com sucesso getAlert().setString("Livro registrado com sucesso na biblioteca!"); getTextFieldNome().setString(""); getTextFieldISBN().setString(""); } switchDisplayable(getAlert(), getFormPrincipal()); } else if (command == exitCommand) { exitMIDlet(); } } else if (displayable == list) { if (command == List.SELECT_COMMAND) { listAction(); } else if (command == backCommand1) { switchDisplayable(null, getFormPrincipal()); } } }

Bom dia E.Arias…

Deve fazer umas 3 semanas e tive que fazer um algoritmo para gerir uma biblioteca, como exercício de aula também, vou te repassar umas dicas abaixo:

“não faço idéia de qual a melhor forma de procurar algo nas arrays, e se é possível ignorar o Lowcase e Uppercase do que for procurado.”

Bem, nesse caso utilizei um for. Ficaria mais ou menos assim: Você recebe o nome do livro que o usuário deseja e varre a array usando um for, cada incremento da váriável de controle do for corresponde a uma posição do array.

O caso do Uppercase e Lowercase, você pode usar o equalsIgnoreCase, como no link a seguir: http://www.guj.com.br/java/113002-duvida-com-metodo-equalsignorecase

E para deletar algo, eu setava a posição da array que eu desejava apagar como null. Pra cadastrar novos livros também, eu usei um for que varria a string procurando uma posição null, para nela cadastrar o livro.

Essa é a base para o negócio, se precisar de uns exemplos me peça, que procuro e coloco aqui meu exercício pra gente comparar.

:wink: