Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Konfigurer din hovedmetode
- Trin 2: Opret dit rekursive metodeoverskrift
- Trin 3: Opret din Kicker/basiskasse
- Trin 4: Det rekursive trin
- Trin 5: Forkort problemet
- Trin 6: Opret array af heltal
- Trin 7: Ring til metoden med dine arrays
- Trin 8: Udskriv resultaterne
- Trin 9: Tillykke
Video: Rekursivt opsummering af et array i Java: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
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
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
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
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
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
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
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
Nu kan du kalde din rekursive metode og videregive disse arrays til den. Nu kan du køre dit program.
Trin 8: 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:
DIY LED Array (ved hjælp af Arduino): 7 trin
DIY LED Array (Brug af Arduino): INTRO: Har du nogensinde ønsket at lave et simpelt projekt, der får LED'er til at se ud til at bevæge sig? Ingen? Det var hvad jeg tænkte. Nå, hvis du nogensinde har ønsket at lave noget lignende, er du på det rigtige sted
7 Segment Display Array: 6 trin (med billeder)
7 Segment Display Array: Jeg har bygget et LED display lavet af 144 7 segment displays, der styres af en arduino nano. Segmenterne styres af 18 MAX7219 ic'er, der kan styre op til 64 individuelle lysdioder eller 8 7 segmentdisplays. Arrayen har 144 displays, der hver består af
Sådan bruges en While Loop til at itere et array i Java: 9 trin
Sådan bruges en While Loop til at itereere et array i Java: I dag viser jeg dig, hvordan du bruger Java til at oprette en While -loop, der kan bruges til at iterere gennem en liste med tal eller ord. Dette koncept er for begyndere og alle, der ønsker at få en hurtig børstning af Java Loops og arrays
PCB UV LED Array Timer: 3 trin
PCB UV LED Array Timer: Det er en slags projekt, der tog lang tid at blive færdig, på trods af sin enkelhed! Det er fordi jeg i lang tid har brugt en UV -lysstofrørskasse til at lave mine printkort, og jeg har altid tænkt, at en anden ved hjælp af UV -lysdioder kan
Stationær radar (LIDAR) Array med Arduino: 10 trin (med billeder)
Stationær radar (LIDAR) Array med Arduino: Da jeg byggede en tobenet robot, tænkte jeg altid på at have en slags cool gadget, der kan spore min modstander og lave angrebstræk med den. Bunker af radar/lidar -projekter findes allerede her. Der er dog nogle begrænsninger for mit formål