Vetor Indefinido

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.

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].

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.

[quote=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.[/quote]

Esse novo array ficaria fora do while ?

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