vända innehållet i en Java- array är en gemensam uppgift , och kräver inte mycket kod . Det finns olika tänkbara sätt att vända array ordning , men det enklaste är genom att arbeta från varje ände av arrayen mot centrum , byta varje par av element i tur och ordning . Att byta elementet positioner inom en array , måste du kopiera omkring hälften av dem i temporära variabler som du går , eftersom så fort du flyttar ett element till ett annat läge , kommer du att ha skrivits över ett annat element . Instruktioner
1
Förbered din array . Om du inte redan har ett Array-objekt i ditt program , skapa ett nu :
//skapa en array och ange längden int
[ ] someNumbers = new int [ 13 ] ;
//initiera arrayen med vissa inslag
for (int i = 0 ; i. < someNumbers.length , i + + ) katalog
someNumbers [ i] = i ;
Detta exempel använder primitiv typ ints , men metoden fungerar för grupper av alla slag , inklusive föremål . För detta exempel innehåller arrayen initialt nummer som löper från noll uppåt
2
Skapa variabler att hålla reda på din position när du flyttar längs arrayen från endera änden : .
//en börjar i den första positionen , den andra i den sista
int leftPosn = 0 ;
int rightPosn = someNumbers.length - 1 ;
algoritmen kommer att använda en slinga , kommer varje iteration som involverar byta två delar , med början genom att byta den första och sista , sedan fortsätter mot mitten .
3
Skapa en ögla för din algoritm . Du kan använda vilken typ av loop gör mest meningsfullt för dig , men i detta fall det enklaste alternativet är en while-slinga :
//kontrollera om vänster och höger positioner måste fortfarande nå mitt
medan ( leftPosn < rightPosn ) katalog
{
//loop innehåll går här
}
slingan kommer att fortsätta så länge som vänster och höger räknare har ännu inte nått mitten av arrayen .
4
Swap varje par av element i tur och ordning. Inuti din while loop ( på " loop innehåll går här " ) :
//kopiera den vänstra elementet i paret in i en ny temporär variabel
int tempCopy = someNumbers [ leftPosn ] ;
//kopiera den högra delen i längst till vänster
ställning
someNumbers [ leftPosn ] = someNumbers [ rightPosn ] ;
/* kopierar den ursprungliga vänstra elementet från den temporära variabeln
* i positionen längst till höger * /
someNumbers [ rightPosn ] = tempCopy ; .
temporär variabel bara behöver vara tillgänglig under varje iteration av slingan
5
Flytta dina variabler positionsräknare längs varje gång slingan exekverar . I while-slingan kodblock ( efter swap ) :
//öka och positioner dekrement att fortsätta arbeta mot mitten
leftPosn + + ;
rightPosn - ;
Testa din kod genom att köra dina program och mata ut innehållet i din array enligt följande ( efter while-slingan ) :
for (int j = 0 ; j < someNumbers.length , j + + )
System.out.println ( someNumbers [ j ] ) ;