Java-program för att vända en mening med rekursion

I det här programmet lär du dig att vända en viss mening med en rekursiv slinga i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java-metoder
  • Java-rekursion
  • Java-sträng

Exempel: Omvänd en mening med rekursion

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

Utgång :

 Den omvända meningen är: krow oG

I ovanstående program har vi en rekursiv funktion reverse().

På varje iteration lägger vi till (sammanfogar) resultatet av nästa reverse()funktion till det första tecknet i meningen med charAt(0).

Det rekursiva samtalet måste vara före charAt(), för så kommer de sista tecknen att börja läggas till vänster. Om du vänder om ordningen kommer du att få den ursprungliga meningen.

I slutändan slutar vi med en tom mening och reverse()returnerar den omvända meningen.

Obs : Den sentence.substring(1)metoden returnerar den del av strängen meningen början från index 1 till slutet av strängen. För att lära dig mer, besök Java String substring ().

Utförande steg
Iteration omvänd() substring () reversedString
1 omvänd ("Go work") "o Arbete" resultat + "G"
2 omvänd ("o arbete") "Arbete" resultat + "o" + "G"
3 omvänd ("Arbete") "Arbete" resultat + "" + "o" + "G"
4 omvänd ("Arbete") "ork" resultat + "W" + "" + "o" + "G"
5 omvänd ("ork") "rk" resultat + "o" + "W" + "" + "o" + "G"
6 omvänd ("rk") "k" resultat + "r" + "o" + "W" + "" + "o" + "G"
7 omvänd ("k") "" resultat + "k" + "r" + "o" + "W" + "" + "o" + "G"
Slutlig omvänd("") - "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG"

Intressanta artiklar...