Turinys:
- Prekės
- 1 veiksmas: nustatykite pagrindinį metodą
- 2 veiksmas: sukurkite rekursinio metodo antraštę
- 3 veiksmas: sukurkite „Kicker“/pagrindinį dėklą
- 4 žingsnis: pasikartojantis žingsnis
- 5 žingsnis: sutrumpinkite problemą
- 6 žingsnis: sukurkite sveikųjų skaičių masyvą
- 7 žingsnis: paskambinkite metodui savo masyvais
- 8 veiksmas: spausdinkite rezultatus
- 9 žingsnis: Sveikiname
Video: Rekursyviai masyvo apibendrinimas „Java“: 9 žingsniai
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Rekursija yra labai naudinga ir daug laiko reikalaujanti procedūra, kuri gali greitai išspręsti problemą su labai mažu kodu. Rekursija apima metodą, kurį sukuriate pats, sutrumpindamas pradinę problemą.
Šiame pavyzdyje mes apibendrinsime 10 sveikųjų skaičių masyvą, tačiau dydis gali būti bet kokio ilgio.
Prekės
Turėtumėte žinoti pagrindinę „Java“sintaksę ir turėti IDE arba teksto rengyklę, kad parašytumėte šios užduoties kodą.
1 veiksmas: nustatykite pagrindinį metodą
Norėdami pradėti, nustatykite pagrindinį metodą naujai sukurtoje klasėje. Savo klasę pavadinau RecursiveSum. Čia sukursite sveikųjų skaičių masyvą ir iškviesite rekursinį metodą.
2 veiksmas: sukurkite rekursinio metodo antraštę
Už pagrindinio metodo ribų sukurkite rekursinio metodo metodo antraštę.
Metodas yra statinis, nes jam nereikės naudoti objekto.
Grąžinimo tipas yra int, nes mūsų naudojamas masyvas bus pilnas sveikųjų skaičių. Tačiau tai galima pakeisti į bet kokį masyvo skaičių tipą.
Aš pavadinau savo metodą recursiveSum, kuris turės du parametrus; sveikųjų skaičių masyvas ir indeksas, kurį pridėsime prie sumos. Aš pavadinau šiuos parametrus atitinkamai skaičiais ir indeksu.
Dabar pamatysite klaidas ir tai gerai. Vėliau jie bus pataisyti.
3 veiksmas: sukurkite „Kicker“/pagrindinį dėklą
Rekursiniam metodui reikia spardytojo/bazinio atvejo. Tai yra sąlyga, kuri sustabdys jūsų metodą be galo save vadinti. Šį pagrindinį atvejį galima laikyti paprasčiausiu atveju, su kuriuo susidursime. Šiuo atveju pagrindinis atvejis bus tada, kai būsime masyvo pabaigoje. Jei dabartinis indeksas yra lygus masyvo ilgiui (minus 1, nes masyvai pradeda skaičiuoti nuo 0, o ne 1), mes esame pabaigoje ir mes tiesiog grąžiname tą elementą tuo indeksu.
4 žingsnis: pasikartojantis žingsnis
Kai turėsime pagrindinį atvejį, kitas žingsnis yra rekursinis žingsnis. Čia ir įvyksta magija. Mes išnagrinėjome atvejį, kai mūsų indeksas yra paskutinis mūsų masyvo elementas. Ką daryti, jei nesame paskutinis mūsų masyvo elementas? O kas, jei galėtume tiesiog pasakyti, kad pridėtų esamą elementą ir kitą? Galų gale mes pasieksime savo masyvo pabaigą ir mūsų pagrindinis atvejis turės įtakos.
Norėdami tai padaryti, mes tiesiog grąžiname dabartinį indeksą ir „pridedame likusią“masyvą.
5 žingsnis: sutrumpinkite problemą
Kaip mes tiesiog „pridedame likusius“? Mes jau turime metodą, kuris pridės tam tikrą elementą; mūsų rekursyvusSum () metodas! Galime tai vadinti dar kartą, bet pakeiskite indeksą, kurį apibendriname.
Mes perduodame tą patį masyvą, kurį mes apdorojame, bet perduodame kitą indeksą iš dabartinio indekso. Mes tai darome tiesiog pridėdami vieną prie dabartinio indekso, kaip parodyta.
6 žingsnis: sukurkite sveikųjų skaičių masyvą
Dabar, kai mūsų rekursinis sumavimo metodas baigtas, galime sukurti savo masyvą, kurį apdorosime. Šis masyvas bus mūsų pagrindiniame metodo bloke.
Masyvo dydį galite padaryti tiek, kiek norite. Aš sukūriau keletą skirtingų masyvų su skirtingais dydžiais ir vertėmis, kad parodyčiau, jog jis veikia ne tik vienam dydžiui.
7 žingsnis: paskambinkite metodui savo masyvais
Dabar galite paskambinti savo rekursiniu metodu ir perduoti jam šiuos masyvus. Dabar galite paleisti savo programą.
8 veiksmas: spausdinkite rezultatus
Nieko neatsitiko. Kodėl? Rekursinė suma grąžina sveiką skaičių, bet mes nieko nepadarėme su šiuo sveiku skaičiumi. Jis atliko savo darbą, bet nematome rezultato. Norėdami pamatyti rezultatą, mes tiesiog jį atspausdiname. Atlikę tai, turėtumėte pamatyti kiekvieno masyvo rezultatus.
9 žingsnis: Sveikiname
Baigėte rekursinę funkciją. Nesivaržykite keisti savo masyvų dydžio. Jei išbandysite, pastebėsite, kad sugenda, kai turite tuščią masyvą. Mes to neatsakėme, bet tai puikus būdas patobulinti rekursinį metodą.