Sommario:

Somma ricorsiva di un array in Java: 9 passaggi
Somma ricorsiva di un array in Java: 9 passaggi

Video: Somma ricorsiva di un array in Java: 9 passaggi

Video: Somma ricorsiva di un array in Java: 9 passaggi
Video: Fondamenti di Programmazione con Java - 16 - Ricorsione su array bidimensionali 2024, Dicembre
Anonim
Somma ricorsiva di un array in Java
Somma ricorsiva di un array in Java

La ricorsione è una procedura molto utile ed efficiente in termini di tempo che può risolvere rapidamente un problema con pochissimo codice. La ricorsione coinvolge il metodo che crei chiamando se stesso abbreviando il problema originale.

Per questo esempio, sommeremo un array di 10 interi, ma la dimensione potrebbe essere di qualsiasi lunghezza.

Forniture

Dovresti conoscere la sintassi Java di base e avere il tuo IDE o un editor di testo per scrivere il codice per questa attività.

Passaggio 1: imposta il tuo metodo principale

Imposta il tuo metodo principale
Imposta il tuo metodo principale

Per iniziare, imposta il tuo metodo principale in una classe appena creata. Ho chiamato la mia classe RecursiveSum. Qui è dove creerai l'array di interi e chiamerai il tuo metodo ricorsivo.

Passaggio 2: crea l'intestazione del tuo metodo ricorsivo

Crea l'intestazione del tuo metodo ricorsivo
Crea l'intestazione del tuo metodo ricorsivo

Al di fuori del tuo metodo principale, crea l'intestazione del metodo per il tuo metodo ricorsivo.

Il metodo è statico, in quanto non richiederà un oggetto su cui usarlo.

Il tipo restituito è int, poiché l'array che utilizzeremo sarà pieno di interi. Tuttavia, questo può essere modificato in qualsiasi tipo di numero contenuto nell'array.

Ho chiamato il mio metodo recursiveSum che avrà due parametri; un array di interi e l'indice che aggiungeremo alla somma. Ho chiamato questi parametri numeri e indice rispettivamente.

Vedrai errori in questo momento e va bene. Verranno sistemati in seguito.

Passaggio 3: crea il tuo kicker/caso base

Crea il tuo kicker/caso base
Crea il tuo kicker/caso base

Un metodo ricorsivo ha bisogno di un kicker/caso base. Questa è la condizione che impedirà al tuo metodo di chiamarsi all'infinito. Questo caso base può essere pensato come il caso più semplice che incontreremo. In questo caso, il caso base sarà quando saremo alla fine del nostro array. Se l'indice corrente è uguale alla lunghezza dell'array (meno 1 perché gli array iniziano a contare da 0 e non 1), siamo alla fine e restituiamo semplicemente quell'elemento a quell'indice.

Passaggio 4: il passaggio ricorsivo

Il passo ricorsivo
Il passo ricorsivo

Una volta che abbiamo il nostro caso base, il passo successivo è il nostro passo ricorsivo. Qui è dove avviene la magia. Abbiamo gestito il caso in cui il nostro indice è uguale all'ultimo elemento del nostro array. E se non siamo all'ultimo elemento del nostro array? E se potessimo semplicemente dirgli di aggiungere il nostro elemento attuale più il prossimo? Alla fine raggiungeremo la fine del nostro array e il nostro caso base avrà effetto.

Per fare ciò, restituiamo semplicemente il nostro indice corrente e "aggiungiamo il resto" dell'array.

Passaggio 5: accorciare il problema

Accorciare il problema
Accorciare il problema

Come possiamo semplicemente "aggiungere il resto"? Abbiamo già un metodo che aggiungerà un certo elemento; il nostro metodo RecursiveSum()! Possiamo chiamarlo di nuovo ma cambiare l'indice che stiamo sommando.

Passiamo nello stesso array che stiamo elaborando, ma passiamo nell'indice successivo dal nostro indice corrente. Lo facciamo semplicemente aggiungendone uno al nostro indice corrente come mostrato.

Passaggio 6: creare l'array di numeri interi

Crea la matrice di numeri interi
Crea la matrice di numeri interi

Ora che il nostro metodo di somma ricorsiva è completo, possiamo creare il nostro array che elaboreremo. Questo array sarà nel nostro blocco del metodo principale.

Puoi rendere la dimensione dell'array per tutto il tempo che desideri. Ho creato alcuni array diversi con dimensioni e valori diversi per mostrare che funziona non solo su una singola dimensione.

Passaggio 7: chiama il metodo con i tuoi array

Chiama il metodo con i tuoi array
Chiama il metodo con i tuoi array

Ora puoi chiamare il tuo metodo ricorsivo e passargli questi array. Ora puoi eseguire il tuo programma.

Passaggio 8: stampa i risultati

Stampa i risultati
Stampa i risultati
Stampa i risultati
Stampa i risultati

Non è successo niente. Come mai? La somma ricorsiva restituisce un intero ma non abbiamo fatto nulla con questo intero. Ha fatto il suo lavoro ma non si vede il risultato. Per vedere il risultato, lo stampiamo semplicemente in questo modo. Dopo averlo eseguito, dovresti vedere i risultati per ciascuno dei tuoi array.

Passaggio 9: Congratulazioni

Hai completato una funzione ricorsiva. Sentiti libero di cambiare la dimensione dei tuoi array. Se lo provi, noterai che si blocca quando hai un array vuoto. Non ne abbiamo tenuto conto, ma è un ottimo modo per migliorare il tuo metodo ricorsivo.

Consigliato: