January 12
Invertendo il contenuto di una matrice Java è un compito comune, e non richiede molto codice. Esistono diversi approcci possibili per invertire ordine matrice, ma la più semplice è lavorando da ciascuna estremità della matrice verso il centro, scambiando ciascuna coppia di elementi a turno. Per scambiare le posizioni degli elementi all'interno di un array, è necessario copiare circa la metà di essi in variabili temporanee, come si va, dal momento che non appena si sposta un elemento in una posizione diversa, avrete sovrascritto un altro elemento.
1 Preparare l'array. Se non si dispone già di un oggetto array in un programma, creare uno ora:
// Crea un array e specificare la lunghezza
int [] someNumbers = new int [13];
// Istanziare l'array con alcuni elementi
for (int i = 0; i <someNumbers.length; i ++)
someNumbers [i] = i;
Questo esempio utilizza tipo int primitivi, ma il metodo funziona per array di qualsiasi tipo, compresi gli oggetti. Per questo esempio, l'array contiene inizialmente numeri esecuzione da zero verso l'alto.
2 Creare variabili per tenere traccia della vostra posizione come ci si sposta lungo l'array da entrambe le estremità:
// One inizia nella prima posizione, l'altro in ultima
int leftPosn = 0;
int rightPosn = someNumbers.length-1;
L'algoritmo userà un ciclo, ogni iterazione che comporterà scambiando due elementi, iniziando scambiando il primo e l'ultimo, proseguendo poi verso il centro.
3 Creare un ciclo per il vostro algoritmo. È possibile utilizzare qualsiasi tipo di ciclo rende più senso per voi, ma in questo caso l'opzione più semplice è un ciclo while:
// Verificare se le posizioni destra e sinistra devono ancora raggiungere il centro
mentre (leftPosn <rightPosn)
{
// Contenuti ciclo va qui
}
Il ciclo continuerà finché i contatori sinistro e destro non hanno ancora raggiunto la metà della matrice.
4 Scambiare ciascuna coppia di elementi a loro volta. All'interno del vostro ciclo while (a "contenuti ciclo va qui"):
// Copiare l'elemento più a sinistra della coppia in una nuova variabile temporanea
int tempCopy = someNumbers [leftPosn];
// Copia l'elemento più a destra nella posizione più a sinistra
someNumbers [leftPosn] = someNumbers [rightPosn];
/ * Copiare l'elemento più a sinistra originale dalla variabile temporanea
nella posizione più a destra * /
someNumbers [rightPosn] = tempCopy;
La variabile temporanea deve solo essere disponibile durante ogni iterazione del ciclo.
5 Spostare le variabili contatore posizione lungo ogni volta che il ciclo viene eseguito. Nel blocco di codice while (dopo lo scambio):
// posizioni di incremento e decremento di continuare a lavorare verso il centro
leftPosn ++;
rightPosn--;
Testare il codice per l'esecuzione del programma e l'output il contenuto della matrice come segue (dopo il ciclo while):
for (int j = 0; j <someNumbers.length; j ++)
System.out.println (someNumbers [j]);