Invertendo o conteúdo de uma matriz Java é uma tarefa comum , e não exige muito código. Existem diversas abordagens possíveis para inverter a fim de matriz, mas a mais simples é , trabalhando a partir de cada extremidade da matriz para o centro , trocando cada par de elementos , por sua vez . Para trocar posições elemento dentro de um array, você precisa copiar cerca de metade deles em variáveis temporárias que você vá , pois assim que você mover um elemento em uma posição diferente , você vai ter substituído um outro elemento. Instruções
1
Prepare a sua matriz. Se você ainda não tem um objeto array em seu programa, criar uma agora :
//cria um array e especificar a duração
int [ ] = new int someNumbers [13] ;
//instanciar a matriz com alguns elementos
for (int i = 0; i < someNumbers.length ; i + +)
someNumbers [i] = i;
Este exemplo usa ints tipo primitivo , mas o método funciona para matrizes de qualquer tipo , incluindo objetos. Para este exemplo , a matriz contém inicialmente números execução de zero para cima
2
Criar variáveis para manter o controle de sua posição como você se move ao longo da matriz a partir de cada extremidade : .
//um começa na primeira posição , o outro no último
int leftPosn = 0;
int rightPosn = someNumbers.length -1 ;
o algoritmo vai usar um loop, cada iteração do que envolverá a troca de dois elementos , a começar por trocar o primeiro eo último , em seguida, continuar em direção ao meio .
3
Crie um loop para o seu algoritmo. Você pode usar qualquer tipo de loop faz mais sentido para você , mas , neste caso, a opção mais simples é um loop while :
//verificar se posições esquerda e direita têm ainda de chegar ao meio
while ( leftPosn < rightPosn )
{
conteúdo
//loop vai aqui
}
o ciclo vai continuar enquanto a esquerda ea direita contadores ainda não chegaram no meio da matriz.
4
Troque cada par de elementos , por sua vez . Dentro do seu loop while (pelo "conteúdo laço vai aqui " ) :
//copiar o elemento mais à esquerda do par em uma nova variável temporária
int tempCopy = someNumbers [ leftPosn ]; < br >
//copiar o elemento mais à direita para a posição mais à esquerda
someNumbers [ leftPosn ] = someNumbers [ rightPosn ];
/* copiar o elemento mais à esquerda original a partir do
variável temporária
* para a posição mais à direita * /
someNumbers [ rightPosn ] = tempCopy ; .
a variável temporária só precisa estar disponível durante cada iteração do loop
5
Mova suas variáveis de contador posição ao longo de cada vez que o loop é executado . No bloco de código enquanto loop ( após o swap) :
//incremento e decremento posições de continuar a trabalhar para o meio
leftPosn + +;
rightPosn - ; < br >
Teste seu código executando o seu programa e produzir o conteúdo de sua matriz da seguinte maneira (após o loop while ) :
for (int j = 0; j < someNumbers.length ; j + + ) < br >
System.out.println ( someNumbers [j] );