Ebben a programban megtanulja megfordítani az adott mondatot egy rekurzív hurok segítségével a Java-ban.
A példa megértéséhez ismernie kell a következő Java programozási témákat:
- Java módszerek
- Java rekurzió
- Java karakterlánc
Példa: Mondat megfordítása rekurzióval
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); ) )
Kimenet :
A fordított mondat: krow oG
A fenti programban rekurzív függvényt használunk reverse().
Minden egyes iterációnál hozzáadjuk (összefűzzük) a következő reverse()függvény eredményét a mondat első karakteréhez charAt(0).
A rekurzív hívásnak a-előtt kell lennie charAt(), mert így az utolsó karakterek elkezdődnek a bal oldalon. Ha megfordítja a sorrendet, akkor az eredeti mondat lesz a vége.
Végül egy üres mondattal végzünk, és reverse()visszaadjuk a megfordított mondatot.
Megjegyzés : A sentence.substring(1)metódus visszaadja a karakterlánc mondatának részét az 1. indextől a karakterlánc végéig. További információkért látogasson el a Java karakterlánc sztringbe ().
| Ismétlés | fordított() | szubsztring () | fordítottString |
|---|---|---|---|
| 1 | hátramenet ("Menj dolgozni") | "o Munka" | eredmény + "G" |
| 2 | hátramenet ("o Work") | "Munka" | eredmény + "o" + "G" |
| 3 | hátramenet ("Munka") | "Munka" | eredmény + "" + "o" + "G" |
| 4 | hátramenet ("Munka") | "ork" | eredmény + "W" + "" + "o" + "G" |
| 5. | hátramenet ("ork") | "rk" | eredmény + "o" + "W" + "" + "o" + "G" |
| 6. | hátramenet ("rk") | "k" | eredmény + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | hátramenet ("k") | "" | eredmény + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Végső | fordított("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |







