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








