Java
 Computer >> コンピューター >  >> プログラミング >> Java

再帰を使用して文を逆にするJavaプログラム


この記事では、再帰を使用して文を逆にする方法を理解します。再帰関数は、特定の条件が満たされるまで自分自身を複数回呼び出す関数です。

再帰関数は、特定の条件が満たされるまで自分自身を複数回呼び出す関数です。

再帰は、自己相似的な方法でアイテムを繰り返すプロセスです。プログラミング言語では、プログラムで同じ関数内の関数を呼び出すことができる場合、それは関数の再帰呼び出しと呼ばれます。

多くのプログラミング言語は、スタックを使用して再帰を実装します。一般に、関数(呼び出し元)が別の関数(呼び出し先)またはそれ自体を呼び出し先として呼び出すときはいつでも、呼び出し元関数は実行制御を呼び出し先に移します。この転送プロセスには、発信者から着信者に渡されるデータも含まれる場合があります。

以下は同じのデモンストレーションです-

入力

入力が-

であると仮定します
Enter the sentence : Have a nice evening

出力

必要な出力は-

になります
The reversed input is: gnineve ecin a evaH

アルゴリズム

Step 1 - START
Step 2 - Declare two string values namely my_input and my_result
Step 3 - Read the required values from the user/ define the values
Step 4 - A recursive function ‘reverseString is defined which takes an string as input and returns the character at the last position.
Step 5 - The function is called recursively until the value of ‘my_input’ is not an empty string.
Step 6 - The recursive function is called and the value ‘my_input’ is passed to it. Store the return value
Step 7 - Display the result
Step 8 - Stop

例1

ここでは、プロンプトに基づいてユーザーが入力を入力しています。この例は、コーディンググラウンドツールでライブで試すことができます 再帰を使用して文を逆にするJavaプログラム

import java.util.Scanner;
public class Reverse {
   public static void main(String[] args) {
      String my_input, my_result;
      System.out.println("Required packages have been imported");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("A reader object has been defined ");
      System.out.print("Enter the sentence : ");
      my_input = my_scanner.nextLine();
      my_result = reverseString(my_input);
      System.out.println("The reversed input is: " + my_result);
   }
   public static String reverseString(String my_input) {
      if (my_input.isEmpty())
        return my_input;
      return reverseString(my_input.substring(1)) + my_input.charAt(0);
   }
}

出力

Required packages have been imported
A reader object has been defined
Enter the sentence : Have a nice evening
The reversed input is: gnineve ecin a evaH

例2

ここでは、整数は事前に定義されており、その値にアクセスしてコンソールに表示されます。

public class Reverse {
   public static void main(String[] args) {
      String my_input, my_result;
      my_input = "Have a nice evening";
      System.out.println("The string is defined as :" +my_input);
      my_result = reverseString(my_input);
      System.out.println("The reversed input is: " + my_result);
   }
   public static String reverseString(String my_input) {
      if (my_input.isEmpty())
         return my_input;
      return reverseString(my_input.substring(1)) + my_input.charAt(0);
   }
}

出力

The string is defined as :Have a nice evening
The reversed input is: gnineve ecin a evaH

  1. 再帰を使用せずに文字列を逆にするPythonプログラム

    再帰手法を使用せずに文字列を反転する必要がある場合は、単純な負のインデックスを使用できます。 インデックス付けは、値が特定のインデックスの要素にアクセスするのに役立ちます。 例 以下は同じのデモンストレーションです- my_string = str(input("Enter a string that needs to be reversed: ")) print("The string after reversal is: ") print(my_string[::-1]) 出力 Enter a string that needs to be re

  2. 再帰を使用して文字列を逆にするPythonプログラム

    再帰手法を使用して文字列を反転する必要がある場合は、ユーザー定義のメソッドが再帰とともに使用されます。 再帰は、より大きな問題の小さなビットの出力を計算し、これらのビットを組み合わせて、より大きな問題の解決策を提供します。 例 以下は同じのデモンストレーションです- def reverse_string(my_string):    if len(my_string) == 0:       return my_string    else:       return reverse_str