Мазмұны:
- Жабдықтар
- 1 -қадам: Негізгі әдісті орнатыңыз
- 2 -қадам: Рекурсивті әдіс тақырыбын жасаңыз
- 3 -қадам: Кикер/базалық қап жасаңыз
- 4 -қадам: Рекурсивті қадам
- 5 -қадам: Мәселені қысқарту
- 6 -қадам: Бүтін сандар жиынын құрыңыз
- 7 -қадам: Әдісті массивтермен шақырыңыз
- 8 -қадам: Нәтижелерді басып шығарыңыз
- 9 -қадам: Құттықтаймыз
Бейне: Java -де жиымды рекурсивті түрде қорытындылау: 9 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Рекурсия - өте аз коды бар мәселені тез шеше алатын өте пайдалы және уақытты үнемдейтін процедура. Рекурсия бастапқы мәселені қысқартатын өзіңізді шақыратын әдісті қамтиды.
Бұл мысал үшін біз 10 бүтін сандардың жиынтығын шығарамыз, бірақ өлшемі кез келген ұзындықта болуы мүмкін.
Жабдықтар
Сіз java негізгі синтаксисін білуіңіз керек және сіздің IDE немесе осы тапсырмаға кодты жазу үшін мәтіндік редактор болуы керек.
1 -қадам: Негізгі әдісті орнатыңыз
Бастау үшін негізгі әдісті жаңадан құрылған сыныпқа орнатыңыз. Мен өз сыныбымды RecursiveSum деп атадым. Мұнда сіз бүтін сандар жиынын жасайсыз және рекурсивті әдісті шақырасыз.
2 -қадам: Рекурсивті әдіс тақырыбын жасаңыз
Негізгі әдісіңізден басқа, рекурсивті әдіс үшін әдіс тақырыбын жасаңыз.
Әдіс статикалық, себебі оны пайдалану үшін объект қажет емес.
Қайтару түрі - int, өйткені біз қолданатын массив бүтін сандарға толы болады. Дегенмен, оны массивтің кез келген санына өзгертуге болады.
Мен екі параметрді алатын recursiveSum әдісімді атадым; бүтін сандар жиыны және біз қосатын индекс. Мен бұл параметрлерді сәйкесінше сандар мен индекстер деп атадым.
Сіз дәл қазір қателерді көресіз және бұл жақсы. Олар кейінірек түзетіледі.
3 -қадам: Кикер/базалық қап жасаңыз
Рекурсивті әдіске тепкіш/базалық корпус қажет. Бұл сіздің әдісіңізді шексіз шақыруды тоқтататын шарт. Бұл негізгі жағдайды біз кездестіретін ең қарапайым жағдай деп санауға болады. Бұл жағдайда базалық жағдай біздің массивтің соңында болған кезде болады. Егер ағымдағы индекс массивтің ұзындығына тең болса (минус 1, себебі массивтер санауды 0 -ден емес, 1 -ден бастайды), біз соңындамыз және біз сол элементті сол индексте қайтарамыз.
4 -қадам: Рекурсивті қадам
Бізде негізгі жағдай болғаннан кейін, келесі қадам - біздің рекурсивті қадам. Бұл жерде сиқыр пайда болады. Біз индекс массивіміздегі соңғы элементке тең болған жағдайды қарастырдық. Егер біз массивтің соңғы элементінде болмасақ ше? Егер біз оған ағымдағы элемент пен келесі элементті қосуды айтсақ ше? Ақыр соңында біз массивтің соңына жетеміз және біздің негізгі жағдайымыз әсер етеді.
Мұны істеу үшін біз ағымдағы индексті қайтарамыз және массивтің қалған бөлігін қосамыз.
5 -қадам: Мәселені қысқарту
Біз қалай «қалғанын қосамыз»? Бізде белгілі бір элементті қосатын әдіс бар; біздің recursiveSum () әдісі! Біз оны қайта шақыра аламыз, бірақ қай индексті жинақтайтынымызды өзгерте аламыз.
Біз өңдейтін массивке береміз, бірақ біз ағымдағы индексімізден келесі индексті өткіземіз. Біз мұны ағымдағы индекске көрсетілгендей қосу арқылы жасаймыз.
6 -қадам: Бүтін сандар жиынын құрыңыз
Енді біздің рекурсивті қорытындылау әдісі аяқталғаннан кейін, біз өңдейтін массивімізді жасай аламыз. Бұл массив біздің негізгі әдіс блогында болады.
Сіз массивтің өлшемін қалағаныңызша жасай аласыз. Мен оның бір өлшемде ғана емес жұмыс істейтінін көрсету үшін әр түрлі өлшемдері мен мәндері бар бірнеше түрлі массивтер жасадым.
7 -қадам: Әдісті массивтермен шақырыңыз
Енді сіз рекурсивті әдіске қоңырау шалып, оған осы массивтерді бере аласыз. Енді сіз бағдарламаны іске қоса аласыз.
8 -қадам: Нәтижелерді басып шығарыңыз
Ештеңе болған жоқ. Неге? Рекурсивті сома бүтін санды қайтарады, бірақ біз бұл бүтін санмен ештеңе істемедік. Ол өз жұмысын жасады, бірақ нәтижесін көре алмаймыз. Нәтижені көру үшін біз оны дәл осылай басып шығарамыз. Бұл іске қосылғаннан кейін сіз әр массивтің нәтижелерін көресіз.
9 -қадам: Құттықтаймыз
Сіз рекурсивті функцияны орындадыңыз. Өзіңіздің массивтеріңіздің өлшемін өзгерте аласыз. Егер сіз оны тексерсеңіз, сізде бос массив болған кезде оның бұзылғанын байқайсыз. Біз бұл туралы есеп бермедік, бірақ бұл сіздің рекурсивті әдісті жақсартудың тамаша тәсілі.
Ұсынылған:
Иттерді автоматты түрде тамақтандыру !!: 4 қадам
Иттерді автоматты түрде тамақтандыру !!: оңай, пайдалы және сау
Батареямен жұмыс істейтін кеңсе. Күн жүйесі шығыс/батыс автоматты түрде ауысатын күн панельдері мен жел турбинасы: 11 қадам (суреттермен)
Батареямен жұмыс істейтін кеңсе. Шығыс/Батыс күн панельдері мен жел турбинасы автоматты түрде ауысатын күн жүйесі: Жоба: 200 шаршы метрлік кеңсе батареямен жұмыс істеуі керек. Сонымен қатар кеңседе осы жүйеге қажетті барлық контроллерлер, батареялар мен компоненттер болуы керек. Күн мен жел энергиясы батареяларды зарядтайды. Аз ғана мәселе бар
Иттерді автоматты түрде тамақтандыру: 6 қадам
Иттерді автоматты түрде тамақтандыру: бұл менің үй жануарларын тамақтандыратын жобам. Менің атым Паркер, мен 11 -сыныпта оқимын және мен бұл жобаны 2020 жылдың 11 қарашасында CCA (Course Culminating Activity) ретінде жасадым, мен сізге осы жобада Arduino UNO көмегімен үй жануарларын автоматты түрде тамақтандыруды қалай жасау керектігін көрсетемін
Java (+-1s) көмегімен DS3231 RTC (нақты уақыт сағаты) дәл, жылдам және автоматтандырылған түрде орнату: 3 қадам
Java (+-1s) көмегімен DS3231 RTC (нақты уақыт сағаты) дәл, жылдам және автоматтандырылған түрде орнату: Бұл нұсқаулық сізге Arduino мен шағын Java қосымшасын қолдана отырып, DS3231 нақты уақыттағы сағатты қалай орнату керектігін көрсетеді. Arduino сериялық қосылымы. Бұл бағдарламаның негізгі логикасы: 1. Arduino сериялық сұрау жібереді
WiFi резервуарлы өсімдіктерді автоматты түрде беру - жабық/ашық ауада өсіру - су қондырғылары қашықтан бақылаумен автоматты түрде: 21 қадам
Резервуарлы WiFi автоматты өсімдік қоректендіргіші - жабық/ашық өсіру қондырғысы - су қондырғылары қашықтан бақылаумен автоматты түрде: Бұл оқулықта біз өсімдіктерді автоматты түрде суаратын және Adosia платформасы арқылы қашықтан бақыланатын жабық/ашық өсімдіктерді тамақтандыратын жүйені қалай орнату керектігін көрсетеміз