Java program a mondat megfordítására rekurzióval

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 ().

Végrehajtási lépések
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"

érdekes cikkek...