Criar array apartir de dados informados pelo usuario

1 resposta
Gabriel_Matsuoka

Boa tarde !
Gostaria de saber se tem como criar um Array determinado pelo cliente… não pré determinado no código… tipo 10 itens naquele array… algo desse tipo abaixo:

int num[];
        Scanner it = new Scanner(System.in);
        for(int x = 0; x!=-1; x++){
        System.out.print("Digite um valor ( pra sair digite -1): ");
        int nume = it.nextInt();
          if(nume == -1)
              break;
        num[x] = nume;
        }

Claro que acima não esta “correto!”… mas seria algo desse tipo…

Teria que usar um ArrayList?

1 Resposta

rmendes08

Veja bem, para instanciar um array você sempre precisa definir o tamanho desse array. O compilador precisa dessa informação porque arrays são áreas contíguas de memória, alocadas estaticamente. Uma vez alocada a memória do array ela não pode ser modificada. Sendo assim, você tem 2 alternativas: ou pede o número de valores para o usuário, e então aloca o array ou então usar o ArrayList mesmo. Na prática, usa-se muito mais o ArrayList justamente por diversas comodidades como escolher onde o valor será inserido, aumentar de tamanho dinamicamente, etc.

Criado 11 de julho de 2011
Ultima resposta 11 de jul. de 2011
Respostas 1
Participantes 2