Šioje programoje išmoksite pakeisti nurodytą sakinį naudodami „Java“ rekursinę kilpą.
Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:
- „Java“ metodai
- „Java Recursion“
- „Java“ eilutė
Pavyzdys: pakeiskite sakinį naudodami rekursiją
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); ) )
Išvestis :
Atvirkštinis sakinys yra: krow oG
Pirmiau pateiktoje programoje mes turime rekursinę funkciją reverse()
.
Kiekvienoje iteracijoje reverse()
prie pirmojo sakinio simbolio pridedame (sujungiame) kitos funkcijos rezultatą charAt(0)
.
Rekursinis skambutis turi būti prieš charAt()
, nes tokiu būdu paskutiniai simboliai bus pradėti pridėti kairėje pusėje. Jei pakeisite tvarką, gausite originalų sakinį.
Galų gale mes padarysime tuščią sakinį ir reverse()
grąžinsime atvirkštinį sakinį.
Pastaba : sentence.substring(1)
metodas grąžina eilutės sakinio dalį, prasidedančią nuo 1 indekso iki eilutės pabaigos. Norėdami sužinoti daugiau, apsilankykite „Java“ eilutės pakraščiuose ().
Kartojimas | atvirkštinis () | substring () | reversedString |
---|---|---|---|
1 | atvirkščiai („Eik dirbti“) | „o darbas“ | rezultatas + „G“ |
2 | atvirkščiai („o darbas“) | „Darbas“ | rezultatas + "o" + "G" |
3 | atvirkščiai („darbas“) | „Darbas“ | rezultatas + "" + "o" + "G" |
4 | atvirkščiai („darbas“) | „ork“ | rezultatas + "W" + "" + "o" + "G" |
5 | atvirkštinis („ork“) | „rk“ | rezultatas + "o" + "W" + "" + "o" + "G" |
6 | atvirkštinė („rk“) | „k“ | rezultatas + "r" + "o" + "W" + "" + "o" + "G" |
7 | atvirkštinė („k“) | "" | rezultatas + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Galutinis | atvirkštinis ("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |