Het omkeren van de inhoud van een Java- array is een gemeenschappelijke taak , en niet veel code nodig . Er zijn verschillende mogelijke benaderingen voor het omkeren matrix orde , maar de eenvoudigste is door te werken vanaf elk uiteinde van de array naar het midden , ruilen elk paar elementen weer . Om element posities binnen een array ruilen , moet je ongeveer de helft van hen kopiëren naar tijdelijke variabelen als je gaat , want zodra je een element te verplaatsen naar een andere positie , zult u overschreven ander element hebben . Instructies 1 Bereid uw array . Als je niet al een array object in uw programma , nu een aanmaken : //maak een array en geef de lengte int [ ] someNumbers = new int [ 13 ] ; < br > //instantiëren de array met een aantal elementen for (int i = 0 ; i < someNumbers.length ; i + + ) someNumbers [ i ] = i ; Dit voorbeeld maakt gebruik van primitieve ints , maar de methode werkt voor arrays van elk type , met inbegrip van objecten. Voor dit voorbeeld de array bevat aanvankelijk nummers loopt van nul naar boven kopen van 2 Maak variabelen voor het bijhouden van uw positie te houden als je beweegt langs de array van de uiteinden : . //een start in de eerste positie , de andere in de laatste leftPosn int = 0 ; int rightPosn = someNumbers.length - 1 ; het algoritme gaat gebruiken een lus , elke iteratie van die zal betrekken swapping twee elementen , te beginnen door het omwisselen van de eerste en de laatste , daarna verder naar het midden . 3 Maak een lus voor uw algoritme . U kunt gebruiken wat type lus meest zinvol is voor u , maar in dit geval is de eenvoudigste optie is een while lus : //controleren of links en rechts posities moeten nog de middelste terwijl ( leftPosn < rightPosn ) op Twitter { //loop inhoud gaat hier } de lus zal blijven zolang de linker en rechter tellers nog niet het midden van de matrix bereikt . 4 omwisselen elk paar elementen weer . In je while lus ( bij " lus inhoud gaat " ) : //kopieer de meest linkse element in het paar in een nieuwe tijdelijke variabele int tempCopy = someNumbers [ leftPosn ] ; < br > //kopieer de meest rechtse element in de meest linkse positie someNumbers [ leftPosn ] = someNumbers [ rightPosn ] ; /* kopieer de oorspronkelijke meest linkse element van de tijdelijke variabele * in de meest rechtse positie * / someNumbers [ rightPosn ] = tempCopy ; . de tijdelijke variabele moet alleen beschikbaar zijn tijdens elke iteratie van de lus 5 Beweeg uw positie teller variabelen langs elke keer dat de lus uitvoert . In de while loop codeblok ( na de swap ) : //increment en decrement posities te blijven werken in de richting van het midden leftPosn + + ; rightPosn - ; < br Test > uw code door het uitvoeren van je programma en het uitvoeren van de inhoud van uw array als volgt ( na de while lus ) : for (int j = 0 ; j < someNumbers.length ; j + + ) < br > System.out.println ( someNumbers [ j ] ) ;
|