Inhoudsopgave:
- Benodigdheden
- Stap 1: Stel uw hoofdmethode in
- Stap 2: Maak uw recursieve methode-header
- Stap 3: Creëer je Kicker/base Case
- Stap 4: De recursieve stap
- Stap 5: Verkort het probleem
- Stap 6: Maak de matrix van gehele getallen
- Stap 7: Roep de methode aan met uw arrays
- Stap 8: Druk de resultaten af
- Stap 9: Gefeliciteerd
Video: Recursief een array optellen in Java - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Recursie is een zeer nuttige en tijdbesparende procedure die een probleem snel kan oplossen met heel weinig code. Recursie houdt in dat de methode die u maakt, zichzelf aanroept en het oorspronkelijke probleem verkort.
Voor dit voorbeeld zullen we een array van 10 gehele getallen optellen, maar de grootte kan elke lengte hebben.
Benodigdheden
U moet de basissyntaxis van Java kennen en uw IDE of een teksteditor hebben om uw code voor deze taak te schrijven.
Stap 1: Stel uw hoofdmethode in
Stel om te beginnen uw hoofdmethode in een nieuw gemaakte klasse in. Ik heb mijn klasse RecursiveSum genoemd. Hier maakt u de array van gehele getallen en roept u uw recursieve methode aan.
Stap 2: Maak uw recursieve methode-header
Maak buiten uw hoofdmethode de methodekop voor uw recursieve methode.
De methode is statisch, omdat er geen object voor nodig is om deze te gebruiken.
Het retourtype is int, omdat de array die we zullen gebruiken vol zal zijn op gehele getallen. Dit kan echter worden gewijzigd in het nummertype dat de array bevat.
Ik heb mijn methode recursiveSum genoemd, waarvoor twee parameters nodig zijn; een array van gehele getallen en de index die we aan de som zullen toevoegen. Ik heb deze parameters respectievelijk nummers en index genoemd.
Je zult nu fouten zien en dat is prima. Ze worden later gerepareerd.
Stap 3: Creëer je Kicker/base Case
Een recursieve methode heeft een kicker/base case nodig. Dit is de voorwaarde die ervoor zorgt dat uw methode zichzelf niet oneindig aanroept. Dit basisscenario kan worden beschouwd als het meest eenvoudige geval dat we zullen tegenkomen. In dit geval is het basisscenario wanneer we aan het einde van onze array zijn. Als de huidige index gelijk is aan de lengte van de array (min 1 omdat arrays beginnen te tellen vanaf 0 en niet 1), zijn we aan het einde en geven we dat element gewoon terug bij die index.
Stap 4: De recursieve stap
Zodra we ons basisscenario hebben, is de volgende stap onze recursieve stap. Dit is waar de magie gebeurt. We hebben het geval behandeld waarin onze index gelijk is aan het laatste element in onze array. Wat als we niet bij het laatste element in onze array zijn? Wat als we het eenvoudig konden vertellen om ons huidige element plus het volgende toe te voegen? Uiteindelijk zullen we het einde van onze reeks bereiken en zal ons basisscenario van invloed zijn.
Om dit te bereiken, retourneren we eenvoudig onze huidige index en "voegen de rest toe" van de array.
Stap 5: Verkort het probleem
Hoe kunnen we eenvoudig "de rest toevoegen"? We hebben al een methode die een bepaald element toevoegt; onze recursiveSum() methode! We kunnen het opnieuw noemen, maar veranderen welke index we optellen.
We passeren in dezelfde array die we verwerken, maar we passeren de volgende index van onze huidige index. We doen dit door er eenvoudig een toe te voegen aan onze huidige index, zoals weergegeven.
Stap 6: Maak de matrix van gehele getallen
Nu onze recursieve optelmethode voltooid is, kunnen we onze array maken die we zullen verwerken. Deze array staat in ons hoofdmethodeblok.
U kunt de grootte van de array zo lang maken als u wilt. Ik heb een paar verschillende arrays gemaakt met verschillende grootten en waarden om te laten zien dat het niet alleen op één formaat werkt.
Stap 7: Roep de methode aan met uw arrays
Nu kunt u uw recursieve methode aanroepen en deze arrays eraan doorgeven. Nu kunt u uw programma uitvoeren.
Stap 8: Druk de resultaten af
Er is niks gebeurd. Waarom? Recursieve som retourneert een geheel getal, maar we hebben niets met dit geheel getal gedaan. Het deed zijn werk, maar we kunnen het resultaat niet zien. Om het resultaat te zien, printen we het gewoon zo uit. Nadat u dit hebt uitgevoerd, zou u de resultaten voor elk van uw arrays moeten zien.
Stap 9: Gefeliciteerd
Je hebt een recursieve functie voltooid. Voel je vrij om de grootte van je arrays te wijzigen. Als je het uittest, zul je merken dat het crasht als je een lege array hebt. We hebben er geen rekening mee gehouden, maar dat is een geweldige manier om uw recursieve methode te verbeteren.
Aanbevolen:
Een e-mailmelding ontvangen wanneer een kanaal op ThingSpeak een tijdje niet is bijgewerkt: 16 stappen
Ontvang een e-mailmelding als een kanaal op ThingSpeak een tijdje niet is bijgewerkt: Achtergrondverhaal Ik heb zes geautomatiseerde kassen verspreid over Dublin, Ierland. Door een op maat gemaakte app voor mobiele telefoons te gebruiken, kan ik op afstand de geautomatiseerde functies in elke kas volgen en ermee communiceren. Ik kan de win handmatig openen / sluiten
Automatisch een programma starten bij het aansluiten van een laptop op een dockingstation: 5 stappen
Een programma automatisch starten wanneer u een laptop op een dockingstation aansluit: deze instructie gaat over het uitvoeren van een programma of een toepassing wanneer u uw laptop op een dockingstation aansluit. In dit voorbeeld gebruik ik Lenovo T480 Windows 10
Een condensator of een inductor meten met een mp3-speler: 9 stappen
Een condensator of een inductor meten met een mp3-speler: Hier is een eenvoudige techniek die kan worden gebruikt om de capaciteit en inductantie van een condensator en inductor nauwkeurig te meten zonder dure apparatuur. De meettechniek is gebaseerd op een gebalanceerde brug en kan eenvoudig worden geconstrueerd uit onde
Een lijn toevoegen aan een Boombox met een cassettespeler: 5 stappen
Een line-in toevoegen aan een boombox met een tapespeler: ** Zoals bij alle instructables, neem je je item / gezondheid / wat dan ook in eigen handen wanneer je het probeert! Houd rekening met hoge spanningen op het hoofdvoedingsbord, de hete soldeerbout, enz. Voorzichtig en geduldig zijn, zal u succes brengen. **NS
Een While-lus gebruiken om een array in Java te herhalen: 9 stappen
Een While-lus gebruiken om een array in Java te herhalen: Vandaag laat ik u zien hoe u Java kunt gebruiken om een While-lus te maken die kan worden gebruikt om een lijst met getallen of woorden te doorlopen. Dit concept is bedoeld voor beginnende programmeurs en iedereen die Java Loops en arrays snel wil opfrissen