Indholdsfortegnelse:

Rekursivt opsummering af et array i Java: 9 trin
Rekursivt opsummering af et array i Java: 9 trin

Video: Rekursivt opsummering af et array i Java: 9 trin

Video: Rekursivt opsummering af et array i Java: 9 trin
Video: Shradha didi at lpu 🤩 #apna college #viralshorts 2024, November
Anonim
Rekursivt opsummering af et array i Java
Rekursivt opsummering af et array i Java

Rekursion er en meget nyttig og tidseffektiv procedure, der hurtigt kan løse et problem med meget lidt kode. Rekursion involverer den metode, du opretter, og kalder sig selv for at forkorte det oprindelige problem.

I dette eksempel summerer vi en matrix med 10 heltal, men størrelsen kan være af enhver længde.

Forbrugsvarer

Du bør kende grundlæggende java -syntaks og have din IDE eller en teksteditor til at skrive din kode til denne opgave.

Trin 1: Konfigurer din hovedmetode

Konfigurer din hovedmetode
Konfigurer din hovedmetode

For at begynde skal du konfigurere din hovedmetode i en nyoprettet klasse. Jeg har navngivet min klasse RecursiveSum. Det er her, du vil oprette arrayet med heltal og kalde din rekursive metode.

Trin 2: Opret dit rekursive metodeoverskrift

Opret din rekursive metodeoverskrift
Opret din rekursive metodeoverskrift

Uden for din hovedmetode skal du oprette metodeoverskriften til din rekursive metode.

Metoden er statisk, da den ikke kræver et objekt at bruge den på.

Returtypen er int, da den matrix, vi vil bruge, vil være fuld på hele tal. Dette kan dog ændres til uanset taletype, arrayet indeholder.

Jeg har navngivet min metode recursiveSum, som vil tage to parametre; en række heltal og det indeks, vi tilføjer til summen. Jeg har kaldt disse parametre henholdsvis tal og indeks.

Du vil se fejl lige nu, og det er fint. De vil blive rettet senere.

Trin 3: Opret din Kicker/basiskasse

Opret din Kicker/basiskasse
Opret din Kicker/basiskasse

En rekursiv metode kræver en kicker/base case. Dette er den betingelse, der vil stoppe din metode fra uendeligt at kalde sig selv. Denne basissag kan betragtes som den mest enkle sag, vi vil støde på. I dette tilfælde vil basiskassen være, når vi er i slutningen af vores array. Hvis det aktuelle indeks er lig med arrayets længde (minus 1, fordi arrays begynder at tælle fra 0 ikke 1), er vi ved slutningen, og vi returnerer blot det element ved dette indeks.

Trin 4: Det rekursive trin

Det rekursive trin
Det rekursive trin

Når vi har vores basiskasse, er det næste trin vores rekursive trin. Det er her magien sker. Vi har håndteret sagen, når vores indeks er lig med det sidste element i vores array. Hvad hvis vi ikke er det sidste element i vores array? Hvad hvis vi simpelthen kunne fortælle det at tilføje vores nuværende element plus det næste? Til sidst vil vi ramme slutningen af vores array, og vores basissag vil påvirke.

For at opnå dette returnerer vi ganske enkelt vores nuværende indeks og "tilføjer resten" af arrayet.

Trin 5: Forkort problemet

Forkort problemet
Forkort problemet

Hvordan "tilføjer vi resten"? Vi har allerede en metode, der tilføjer et bestemt element; vores metode rekursiveSum ()! Vi kan kalde det igen, men ændre hvilket indeks vi opsummerer.

Vi sender i det samme array, vi behandler, men vi sender det næste indeks fra vores nuværende indeks. Vi gør dette ved blot at tilføje et til vores nuværende indeks som vist.

Trin 6: Opret array af heltal

Opret array af heltal
Opret array af heltal

Nu hvor vores rekursive summeringsmetode er færdig, kan vi oprette vores array, som vi vil behandle. Denne matrix vil være i vores hovedmetodeblok.

Du kan lave størrelsen på arrayet, så længe du vil. Jeg har oprettet et par forskellige arrays med forskellige størrelser og værdier for at vise, at det ikke kun fungerer på en enkelt størrelse.

Trin 7: Ring til metoden med dine arrays

Ring til metoden med dine arrays
Ring til metoden med dine arrays

Nu kan du kalde din rekursive metode og videregive disse arrays til den. Nu kan du køre dit program.

Trin 8: Udskriv resultaterne

Udskriv resultaterne
Udskriv resultaterne
Udskriv resultaterne
Udskriv resultaterne

Intet skete. Hvorfor? Rekursiv sum returnerer et helt tal, men vi har ikke gjort noget med dette heltal. Det gjorde sit arbejde, men vi kan ikke se resultatet. For at se resultatet udskriver vi det bare sådan. Efter at have kørt dette skal du se resultaterne for hver af dine arrays.

Trin 9: Tillykke

Du har afsluttet en rekursiv funktion. Du er velkommen til at ændre størrelsen på dine arrays. Hvis du tester det, vil du bemærke, at det går ned, når du har et tomt array. Vi har ikke redegjort for det, men det er en fantastisk måde at forbedre din rekursive metode.

Anbefalede: