În acest program, veți învăța să inversați o propoziție dată utilizând o buclă recursivă în Java.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:
- Metode Java
- Recursiune Java
- Șir Java
Exemplu: inversați o propoziție folosind recursivitate
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); ) )
Ieșire :
Propoziția inversată este: krow oG
În programul de mai sus, avem o funcție recursivă reverse().
La fiecare iterație, adăugăm (concatenăm) rezultatul reverse()funcției următoare la primul caracter al propoziției folosind charAt(0).
Apelul recursiv trebuie să fie înainte de charAt(), deoarece astfel ultimele caractere vor începe să se adauge în partea stângă. Dacă inversați ordinea, veți ajunge la propoziția originală.
La final, ajungem cu o propoziție goală și reverse()returnăm propoziția inversată.
Notă : sentence.substring(1)Metoda returnează porțiunea propoziției șirului începând de la indexul 1 până la sfârșitul șirului. Pentru a afla mai multe, vizitați substringul Java String ().
| Repetare | verso() | substring () | String inversat |
|---|---|---|---|
| 1 | invers („Du-te la lucru”) | „o muncă” | rezultat + "G" |
| 2 | invers („o Work”) | " Muncă" | rezultat + "o" + "G" |
| 3 | invers („Muncă”) | "Muncă" | rezultat + "" + "o" + "G" |
| 4 | invers („Muncă”) | „ork” | rezultat + "W" + "" + "o" + "G" |
| 5 | invers („ork”) | „rk” | rezultat + "o" + "W" + "" + "o" + "G" |
| 6 | invers („rk”) | „k” | rezultat + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | invers („k”) | "" | rezultat + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Final | verso("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "KROW oG" |








