Vende indholdet af en Java array er en fælles opgave , og kræver ikke megen kode. Der er forskellige mulige tilgange til vende matrix orden , men den enkleste er ved at arbejde fra hver ende af opstillingen mod centrum , swapping hvert par elementer i sving . At bytte element stillinger indenfor et array, skal du kopiere omkring halvdelen af dem ind midlertidige variabler , som du går , da så snart du flytter et element til en anden position , vil du have overskrevet et andet element. Instruktioner
1
Forbered dit array . Hvis du ikke allerede har en array objekt i dit program , skal du oprette en nu : Hej
//opretter et array , og angiv længden
int [ ] someNumbers = new int [13] ; < br >
//instantiere array med nogle elementer
for (int i = 0; i < someNumbers.length , jeg + + )
someNumbers [i] = i;
Dette eksempel bruger primitive typen ints , men metoden virker for arrays af enhver type , herunder objekter. For dette eksempel , i første omgang array indeholder tal , der kører fra nul opad
2
Oprette variabler til at holde styr på din position, når du bevæger sig langs array fra begge ender : .
//man starter i første position , den anden i sidste
int leftPosn = 0;
int rightPosn = someNumbers.length -1 ,
algoritmen skal bruge en løkke , vil hver iteration af som indebærer at bytte to elementer , der begynder ved at bytte den første og sidste , og derefter fortsætte mod midten .
3
Opret en løkke til din algoritme. Du kan bruge uanset hvilken type loop giver mest mening for dig, men i dette tilfælde den enkleste løsning er en while-løkke : Hej
//kontrollere, om venstre og højre positioner har endnu til at nå den midterste
< p > while ( leftPosn < rightPosn )
{
//loop indhold går her
}
løkken vil fortsætte, så længe den venstre og højre tællere er endnu ikke nået midten af array.
4
Swap hvert par elementer efter tur. Inde mens loop (ved "loop indhold går her " ) : Hej
//kopiere længst til venstre element i parret ind i en ny midlertidig variabel
int tempCopy = someNumbers [ leftPosn ] < br >
//kopiere længst til højre element ind i de yderste venstre position
someNumbers [ leftPosn ] = someNumbers [ rightPosn ]
/* kopiere den oprindelige længst til venstre element fra den midlertidige variable
* ind i den yderste højre position * /
someNumbers [ rightPosn ] = tempCopy ; .
midlertidige variabel kun skal være til rådighed i hver iteration af løkken
5
Flyt din position counter variabler langs hver gang løkken udfører . I while-løkken kodeblokken (efter swap ) : Hej
//tilvækst og formindskelsesdata positioner for at fortsætte med at arbejde mod midten
leftPosn + +;
rightPosn - ; < br >
Test din kode ved at køre dit program og udsende indholdet af dit array som følger ( efter while-løkken ) : Hej
for (int j = 0 j < someNumbers.length j + + ) < br >
System.out.println ( someNumbers [j ])