Sommario:
- Forniture
- Passaggio 1: imposta il tuo metodo principale
- Passaggio 2: crea l'intestazione del tuo metodo ricorsivo
- Passaggio 3: crea il tuo kicker/caso base
- Passaggio 4: il passaggio ricorsivo
- Passaggio 5: accorciare il problema
- Passaggio 6: creare l'array di numeri interi
- Passaggio 7: chiama il metodo con i tuoi array
- Passaggio 8: stampa i risultati
- Passaggio 9: Congratulazioni
Video: Somma ricorsiva di un array in Java: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
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
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
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
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
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
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
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
Ora puoi chiamare il tuo metodo ricorsivo e passargli questi array. Ora puoi eseguire il tuo programma.
Passaggio 8: 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:
Array LED fai-da-te (usando Arduino): 7 passaggi
Array LED fai-da-te (usando Arduino): INTRO: Hai mai desiderato realizzare un progetto semplice che faccia sembrare i LED in movimento? No? È quello che pensavo. Bene, se hai mai desiderato realizzare qualcosa di simile, sei nel posto giusto
Array di pannelli solari con modulo MPPT cinese: 11 passaggi
Array di pannelli solari con modulo MPPT cinese: una breve descrizione della mia opinione su come far funzionare bene i pannelli solari, e piuttosto a buon mercato … Non garantisco assolutamente nessuno dei contenuti, potrebbero essere solo le divagazioni di un pazzo, infatti Sospetto fortemente che lo siano… Alcune immagini sono state
Circuito della somma dei prodotti utilizzando le porte logiche: 4 passaggi
Circuito della somma dei prodotti utilizzando le porte logiche: in questo tutorial, ti mostrerò come creare il tuo sistema usando la somma dei prodotti, un po' di algebra booleana e alcune porte logiche. Non devi creare lo stesso identico sistema di quello in questo tutorial, ma puoi usare
Come utilizzare un ciclo While per iterare un array in Java: 9 passaggi
Come utilizzare un ciclo While per iterare un array in Java: Oggi ti mostrerò come utilizzare Java per creare un ciclo While che può essere utilizzato per scorrere un elenco di numeri o parole. Questo concetto è per i programmatori di livello base e per chiunque voglia dare una rapida occhiata ai loop e agli array Java
Timer array LED UV PCB: 3 passaggi
PCB UV LED Array Timer: questo è un tipo di progetto che ha richiesto molto tempo per essere completato, nonostante la sua semplicità! Questo perché ho usato, per molto tempo, una scatola di lampade fluorescenti UV per fare i miei circuiti stampati e ho sempre pensato che un'altra, usando i LED UV, potesse