V tomto programe sa naučíte obrátiť danú vetu pomocou rekurzívnej slučky v jazyku Java.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:
- Metódy Java
- Java rekurzia
- Java String
Príklad: Obrátenie vety pomocou rekurzie
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); ) )
Výstup :
Obrátená veta je: krow oG
Vo vyššie uvedenom programe máme rekurzívnu funkciu reverse().
Pri každej iterácii pridáme (zreťazíme) výsledok nasledujúcej reverse()funkcie k prvému znaku vety pomocou charAt(0).
Rekurzívne volanie musí byť pred charAt()znakom, pretože tak sa začnú na ľavej strane pridávať posledné znaky. Ak poradie obrátite, skončí sa pôvodná veta.
Nakoniec skončíme s prázdnou vetou a reverse()vrátime obrátenú vetu.
Poznámka : sentence.substring(1)Metóda vracia časť vety reťazca začínajúcu od indexu 1 po koniec reťazca. Ak sa chcete dozvedieť viac, navštívte podreťazec Java String ().
| Iterácia | reverz () | podreťazec () | reversedString |
|---|---|---|---|
| 1 | reverz („Choď do práce“) | „o Práca“ | výsledok + "G" |
| 2 | reverz („o práca“) | " Práca" | výsledok + „o“ + „G“ |
| 3 | reverz („Práca“) | "Práca" | výsledok + "" + "o" + "G" |
| 4 | reverz („Práca“) | „ork“ | výsledok + "W" + "" + "o" + "G" |
| 5 | reverz („ork“) | „rk“ | výsledok + "o" + "W" + "" + "o" + "G" |
| 6 | spätný chod („rk“) | „k“ | výsledok + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | reverz („k“) | „“ | výsledok + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Konečný | reverz („“) | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |








