Dúvida array de String [RESOLVIDO]

4 respostas
Leco2

Bom dia pessoal,

Seguinte…estou com uma dúvida acho que é bem bobo…tenho um array de String com n posições

String str[] = new String[n];

em cada posição vai entrar um dado qlqr, mas não necessariamente vai encher todo o array ex.
como eu posso verificar qual foi a ultima posição q foi preenchida, não o tamanho do array pois isso resultaria no próprio [n].

agradeço desde já!

:wink:

4 Respostas

Marky.Vasconcelos

Voce pode guardar um inteiro com a posição do ultimo objeto inserido… e para o proximo é só colocar nessa posição++.

B

Vai ter que rodar todo o array até encontrar.

Se for utilizar muito isso, encapsule o array dentro de uma classe, junto com esse número. Ou use um estrutura que não vai desperdiçar espaço, como um ArrayList.

T

Hum… é por isso que não gosto de usar arrays se preciso saber se eles estão completamente preenchidos ou não.

Normalmente, quando você trabalha assim, é necessário estabelecer uma convenção. Eu prefiro ter duas variáveis - uma int para conter quantos elementos tem o array (e também serve para indicar qual é a próxima posição a ser preenchida), e o array em si.

No seu caso (que é um array de objetos; uma String também é um objeto), basta varrer de trás para frente até achar um elemento que não seja null. Ou seja, algo como:

int pos = str.length;
for (int i = str.length - 1; i >= 0; --i) {
    if (str[i] != null) {
        pos = i; break; // pos irá conter a posição do primeiro elemento não-nulo
    }
}

Isso supondo que você vai preencher os elementos sequencialmente.

Leco2

vlw pessoal consegui deu certo!!
:smiley:

Criado 7 de abril de 2009
Ultima resposta 7 de abr. de 2009
Respostas 4
Participantes 4