V tomto programu se naučíte zvrátit danou větu pomocí rekurzivní smyčky v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Metody Java
- Java rekurze
- Řetězec Java
Příklad: Obrátit větu pomocí rekurze
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ácená věta je: krow oG
Ve výše uvedeném programu máme rekurzivní funkci reverse()
.
Při každé iteraci přidáme (zřetězíme) výsledek další reverse()
funkce k prvnímu znaku věty pomocí charAt(0)
.
Rekurzivní volání musí být před charAt()
, protože tak se začnou poslední znaky přidávat na levou stranu. Pokud obrátíte pořadí, dostanete původní větu.
Nakonec skončíme s prázdnou větou a vrátíme reverse()
obrácenou větu.
Poznámka : sentence.substring(1)
Metoda vrací část věty řetězce začínající od indexu 1 po konec řetězce. Další informace najdete na podřetězci Java String ().
Opakování | zvrátit() | podřetězec () | obrácený řetězec |
---|---|---|---|
1 | reverzní („Jdi do práce“) | „o práci“ | výsledek + "G" |
2 | zpět („o Práce“) | "Práce" | výsledek + "o" + "G" |
3 | zpět („Práce“) | "Práce" | výsledek + "" + "o" + "G" |
4 | zpět („Práce“) | „ork“ | výsledek + "W" + "" + "o" + "G" |
5 | zpět („ork“) | "rk" | výsledek + "o" + "W" + "" + "o" + "G" |
6 | zpět ("rk") | „k“ | výsledek + "r" + "o" + "W" + "" + "o" + "G" |
7 | zpět („k“) | „“ | výsledek + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Finále | zvrátit("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |