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
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
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ą.
Rekomenduojamas:
PCB UV LED masyvo laikmatis: 3 žingsniai
PCB UV LED masyvo laikmatis: tai yra savotiškas projektas, kuriam, nepaisant jo paprastumo, prireikė daug laiko! Taip yra todėl, kad ilgą laiką naudoju UV fluorescencinių lempų dėžutę spausdintinėms plokštėms gaminti ir visada maniau, kad kita, naudojant UV šviesos diodus, gali
„Pro IR“masyvo sąsaja su „Arduino“: 5 žingsniai
„Pro IR“masyvo sąsaja su „Arduino“: „ProIR“yra IR jutiklių masyvas su 5 IR jutikliais ir 3 indikatoriaus šviesos diodais, specialiai sukurtais tobulai aiškūs nespalvoto paviršiaus rodmenys skirtinguose aukščiuose ir šviesoje, spalvų skirtumas yra labai geras, palyginti su
Kaip nemokamai atkurti RAID masyvo konfigūraciją: 9 veiksmai
Kaip nemokamai atkurti RAID masyvo konfigūraciją: Taigi, susidūrėte su masyvo konfigūracijos klaida ir praradote prieigą prie duomenų, nors jie vis dar saugomi narių diskuose. Šioje pamokoje aš jums parodysiu, kaip nemokamai atkurti masyvo konfigūraciją. Galite naudoti šią instrukciją f
LED matricos masyvo valdymas naudojant „Arduino Uno“(„Arduino Powered Robot Face“): 4 žingsniai (su paveikslėliais)
LED matricos masyvo valdymas naudojant „Arduino Uno“(„Arduino Powered Robot Face“): Šioje instrukcijoje parodyta, kaip valdyti 8x8 LED matricų masyvą naudojant „Arduino Uno“. Šis vadovas gali būti naudojamas paprastam (ir palyginti pigiam) ekranui sukurti savo projektams. Tokiu būdu galite rodyti raides, skaičius ar pasirinktinius animuotus paveikslėlius
Šviesos masyvo įkrovimas: 3 žingsniai
Šviesos masyvo įkrova: Tai tuščių šunų ėdalo skardinių rinkinys, kurių kiekvienoje yra viena LED lemputė ir spalvotas lęšis ant angos. Šviesos diodus valdo judesio detektoriai, kuriuos sukelia žiūrovo sąveika. Naudojant šviesos diodus kaip šviesos šaltinį kiekvienam iš