Vetor Indefinido

4 respostas
A

Bom-dia Pessoal,

Resumindo tudo preciso de um programa que armazene os nomes (em um vetor) que o usuário digitar até ele digitar fim (obs.: o fim não pode ser gravado).
O problema e que não sei quantos nomes o usuario irá digitar.
Segue meu pseudo código.

public static void main(String[] args) {
        boolean fim = false;
        String auxStr[] = new String[1];
        String nomesStr[];



        while (fim == false) {
            auxStr[0] = JOptionPane.showInputDialog("Digite um nome");
            if (!"fim".equals(auxStr[0])) {
                nomesStr = new String[auxStr.length];
                for (int i = 0; i < nomesStr.length; i++) {
                    nomesStr[i] = auxStr[0];
                }
            } else {
                fim = true;
            }
        }

Não posso usar nenhum metodo pronto.

4 Respostas

ViniGodoy

Por favor, não marque o título dos seus tópicos com o óbvio, como dizer que precisa de [AJUDA] ou que está com [Dúvida].

Rodrigo_Sasaki

Não pode usar ArrayList?

Se não puder essa é justamente a ideia do exercício.
o tamanho de um array não pode ser alterado, portanto se precisar adicionar um item novo a um array que já está cheio, precisa seguir uns passos:

1 - Criar um array novo com um tamanho maior
2 - Copiar todos os itens do array antigo para o array novo
3 - Adicionar o novo item ao próximo índice vazio.

A

Rodrigo Sasaki:
Não pode usar ArrayList?

Se não puder essa é justamente a ideia do exercício.
o tamanho de um array não pode ser alterado, portanto se precisar adicionar um item novo a um array que já está cheio, precisa seguir uns passos:

1 - Criar um array novo com um tamanho maior
2 - Copiar todos os itens do array antigo para o array novo
3 - Adicionar o novo item ao próximo índice vazio.

Esse novo array ficaria fora do while ?

Rodrigo_Sasaki

Você que sabe, dá pra fazer dos 2 jeitos.

Criado 25 de outubro de 2012
Ultima resposta 25 de out. de 2012
Respostas 4
Participantes 3