Java-ohjelma lauseen kääntämiseksi rekursiota käyttämällä

Tässä ohjelmassa opit kääntämään tietyn lauseen käyttämällä Java-rekursiivista silmukkaa.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:

  • Java-menetelmät
  • Java-rekursio
  • Java-merkkijono

Esimerkki: Lauseen kääntäminen rekursiota käyttämällä

 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); ) )

Tuotos :

 Käänteinen lause on: krow oG

Yllä olevassa ohjelmassa meillä on rekursiivinen toiminto reverse().

Jokaisessa iteraatiossa lisätään (ketjutetaan) seuraavan reverse()funktion tulos lauseen ensimmäiseen merkkiin käyttämällä charAt(0).

Rekursiivisen puhelun on oltava ennen charAt(), koska viimeiset merkit alkavat lisätä vasempaan reunaan. Jos muutat järjestystä, päädyt alkuperäiseen lauseeseen.

Loppujen lopuksi päätämme tyhjään lauseeseen ja palautamme reverse()käännetyn lauseen.

Huomaa : sentence.substring(1)Menetelmä palauttaa merkkijonolauseen indeksistä 1 merkkijonon loppuun. Lisätietoja on Java String -alamerkkijonossa ().

Suoritusvaiheet
Toisto käänteinen() substing () reversedString
1 taaksepäin ("mene töihin") "o Työ" tulos + "G"
2 taaksepäin ("o Work") " Työ" tulos + "o" + "G"
3 taaksepäin ("työ") "Työ" tulos + "" + "o" + "G"
4 taaksepäin ("työ") "ork" tulos + "W" + "" + "o" + "G"
5 taaksepäin ("ork") "rk" tulos + "o" + "W" + "" + "o" + "G"
6 taaksepäin ("rk") "k" tulos + "r" + "o" + "W" + "" + "o" + "G"
7 taaksepäin ("k") "" tulos + "k" + "r" + "o" + "W" + "" + "o" + "G"
Lopullinen käänteinen("") - "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG"

Mielenkiintoisia artikkeleita...