In questo programma imparerai a invertire una determinata frase utilizzando un ciclo ricorsivo in Java.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:
- Metodi Java
- Ricorsione Java
- Java String
Esempio: invertire una frase usando la ricorsione
public class Reverse ( public static void main(String() args) ( String sentence = "Go work"; String reversed = reverse(sentence); System.out.println("The reversed sentence is: " + reversed); ) public static String reverse(String sentence) ( if (sentence.isEmpty()) return sentence; return reverse(sentence.substring(1)) + sentence.charAt(0); ) )
Uscita :
La frase al contrario è: krow oG
Nel programma sopra, abbiamo una funzione ricorsiva reverse()
.
Ad ogni iterazione, aggiungiamo (concateniamo) il risultato della reverse()
funzione successiva al primo carattere della frase usando charAt(0)
.
La chiamata ricorsiva deve essere prima di charAt()
, perché in questo modo gli ultimi caratteri inizieranno ad aggiungersi sul lato sinistro. Se inverti l'ordine, ti ritroverai con la frase originale.
Alla fine, finiamo con una frase vuota e reverse()
restituiamo la frase invertita.
Nota : il sentence.substring(1)
metodo restituisce la parte della frase stringa a partire dall'indice 1 fino alla fine della stringa. Per saperne di più, visita la sottostringa Java String ().
Iterazione | inversione() | sottostringa () | reversedString |
---|---|---|---|
1 | reverse ("Vai a lavorare") | "o Lavoro" | risultato + "G" |
2 | reverse ("o Work") | " Lavoro" | risultato + "o" + "G" |
3 | reverse ("Work") | "Lavoro" | risultato + "" + "o" + "G" |
4 | reverse ("Work") | "ork" | risultato + "W" + "" + "o" + "G" |
5 | inverso ("ork") | "rk" | risultato + "o" + "W" + "" + "o" + "G" |
6 | reverse ("rk") | "K" | risultato + "r" + "o" + "W" + "" + "o" + "G" |
7 | inverso ("k") | "" | risultato + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Finale | inversione("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |