adicionar na ultima posição de um array

871 views
Skip to first unread message

JulioCezar Kenji Miyahira

unread,
Jan 16, 2010, 7:00:49 PM1/16/10
to jug...@googlegroups.com
String[] nome = {"joao","gabriel"};
              
            for (String nomeInserido: nome) {
                System.out.println(nomeInserido);
            }
          
            nome[nome.length] = "pedro";
          
            for (String nomeInserido: nome) {
                System.out.println(nomeInserido);
            }

da erro de java.lang.ArrayIndexOutOfBoundsException.
Na lógica isso deveria dar certo, alguem conhece algum metodo da api array que inseri no (ultimo indice +1) de um array?
no php existe o metodo push(), em java não conheço


Thiago Araújo

unread,
Jan 16, 2010, 9:41:33 PM1/16/10
to jug...@googlegroups.com
Olá Julio, o erro ocorre porque em java um array é uma entidade "estatica" no sentido de que uma vez criado ele mantem sempre o mesmo tamanho.

Tente alterar o seu exemplo como segue abaixo:

//criando o array com tres posições
String[] nome = new String[3];

//atribuindo valor as duas primeiras posições
nome[0] = "joao";
nome[1] = "gabriel";

           
for (String nomeInserido: nome) {
        System.out.println(nomeInserido);
}
           
//atribuindo valor a ultima posição do array
nome[nome.length-1] = "pedro";

        
for (String nomeInserido: nome) {
        System.out.println(nomeInserido);
}


Caso você precise de uma estrutura que seja dinâmica Java possui diversas classes que derivam de Collection que podem te ajudar.

Abraço!

2010/1/16 JulioCezar Kenji Miyahira <juli...@gmail.com>
--
Você está recebendo esta mensagem porque se inscreveu no grupo "JUG-MS" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para jug...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para jug-ms+un...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/jug-ms?hl=pt-BR.




--
Thiago Araujo da Silva
Analista de Sistemas
Tecnólogo em Processamento de Dados
Especialista em Desenvolvimento de Aplicações em Java

diego santana

unread,
Jan 17, 2010, 12:30:52 AM1/17/10
to jug...@googlegroups.com
Olá, se vc colocar o tamanho menos 1 você consiguirá adicionar o nome na posição desejada.
Neste contexto você tem um vetor de duas posiçoes, sendo elas 0 e 1 as suas respectivas posições, assim, quando você tenta acessar usando a posição nome.lenght, ela te retorna o tamanho do vetor ,e nao a sua posição, assim vc tem que colocar o -1, para que consiga pegar a posição.

nome[nome.length-1] = "pedro";
Att. Diego Sant'Ana





Date: Sat, 16 Jan 2010 21:00:49 -0300
Subject: [JUG-MS] adicionar na ultima posição de um array
From: juli...@gmail.com
To: jug...@googlegroups.com

Quer 25 GB de armazenamento gratuito na web? Conheça o Skydrive clicando aqui.
Reply all
Reply to author
Forward
0 new messages