• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

nmb

loop em arrays duplos

8 mensagens neste tópico

boas pessoal.

Será que alguem me pode ajudar no seguinte problema.

tenho um array duplo boolean onde pretendo criar ciclos para executar o seguinte processo:

arraydv2.png

Alguem sabe como o fazer?

obg!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois é... realmente é vago

então é assim

com um array deste tipo:

    private boolean [][] celulas =
    {
        { true, false, true,  true,  true,  true, true, true, true, true},
        { true, false, false, false, true,  true, true, true, true, true},
        { true, true,  true,  false, true,  true, true, true, true, true},
        { true, true,  true,  false, false, true, true, true, true, true},
        { true, true,  true,  false, false, true, true, true, true, true},                
        { true, true,  false, false, true,  true, true, true, true, true},
        { true, true,  false, false, true,  true, true, true, true, true},
        { true, false, false, true,  false, true, true, true, true, true}
    };

..pretendo criar um metodo que me mova a ultima linha do array para cima empurrando todas as outras para a linha emidiatamente em baixo.

para o exemplo de cima pretendo ter este resultado no array:

        { true, false, false, true,  false, true, true, true, true, true},
        { true, false, true,  true,  true,  true, true, true, true, true},
        { true, false, false, false, true,  true, true, true, true, true},
        { true, true,  true,  false, true,  true, true, true, true, true},
        { true, true,  true,  false, false, true, true, true, true, true},
        { true, true,  true,  false, false, true, true, true, true, true},                
        { true, true,  false, false, true,  true, true, true, true, true},
        { true, true,  false, false, true,  true, true, true, true, true}
        

penso que assim fica mais exclarecido...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usa um array temporário, copias a ultima linha para a primeira posição do array temp e depois a primeira, segunda etc.. e ficas com 1 novo array como queres.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boolean []t = celulas[ celulas.length - 1 ];

for (int i = celulas.length - 1; i > 0; i--)
{
celulas[i] = celulas[i - 1];
}

celulas[0] = t;

:P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se pudesses usar um array de arrays em vez de um array bidimensional, ficavas com a tarefa simplificada (para além de ficar mais eficiente).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se pudesses usar um array de arrays em vez de um array bidimensional, ficavas com a tarefa simplificada (para além de ficar mais eficiente).

O array bidimensional dado pelo nmb é um array de arrays.

You can also declare an array of arrays (also known as a multidimensional array) by using two or more sets of square brackets, such as String[][] names. Each element, therefore, must be accessed by a corresponding number of index values.

In the Java programming language, a multidimensional array is simply an array whose components are themselves arrays. This is unlike arrays in C or Fortran.(...)

Outra alternativa utilizando o método arraycopy:

	boolean[] b = celulas[celulas.length-1];
	System.arraycopy(celulas,0, celulas,1,celulas.length-1);
	celulas[0] = b;

Cumprimentos :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boolean []t = celulas[ celulas.length - 1 ];

for (int i = celulas.length - 1; i > 0; i--)
{
celulas[i] = celulas[i - 1];
}

celulas[0] = t;

:P

assim ja consegui copiar a linha do array.. mas ainda tenho duvidas de como terminar o resto do algoritmo..

se alguem poder ajudar... gracias

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora