Java-program for å reversere en setning ved hjelp av rekursjon

I dette programmet lærer du å reversere en gitt setning ved hjelp av en rekursiv sløyfe i Java.

For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:

  • Java-metoder
  • Java-rekursjon
  • Java-streng

Eksempel: Vend en setning ved hjelp av rekursjon

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

Utgang :

 Den omvendte setningen er: krow oG

I programmet ovenfor har vi en rekursiv funksjon reverse().

På hver iterasjon legger vi til (sammenkobler) resultatet av neste reverse()funksjon til setningens første tegn charAt(0).

Det rekursive anropet må være før charAt(), fordi på den måten begynner de siste tegnene å legge til på venstre side. Hvis du omgjør ordren, vil du ende opp med den opprinnelige setningen.

Til slutt ender vi opp med en tom setning og reverse()returnerer den omvendte setningen.

Merk : sentence.substring(1)Metoden returnerer den delen av strengsetningen som starter fra indeks 1 til slutten av strengen. For å lære mer, besøk Java String substring ().

Gjennomføringstrinn
Iterasjon omvendt() substring () reversedString
1 omvendt ("Gå arbeid") "o Arbeid" resultat + "G"
2 omvendt ("o Arbeid") " Arbeid" resultat + "o" + "G"
3 omvendt ("Arbeid") "Arbeid" resultat + "" + "o" + "G"
4 omvendt ("Arbeid") "ork" resultat + "W" + "" + "o" + "G"
5 omvendt ("ork") "rk" resultat + "o" + "W" + "" + "o" + "G"
6 omvendt ("rk") "k" resultat + "r" + "o" + "W" + "" + "o" + "G"
7 omvendt ("k") "" resultat + "k" + "r" + "o" + "W" + "" + "o" + "G"
Endelig omvendt("") - "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG"

Interessante artikler...