どのように私は、文字列から「」の文字を置き換えることができ、より2と交換再帰的にですか?

新しいユーザー :
import java.util.Scanner;

public class AddAs
{
    public static void main(String[] args)
    {
        Scanner sc1 = new Scanner(System.in);

        System.out.println("Please enter a word:");

        sc1.close();

        String n = ("aaa");

        char s = 'a';

        System.out.println(s2);

        String pp = moreAs(s2, s, n)

        System.out.println(pp);
    }

    public static String moreAs(String p, char s, String n, String s2)
    {
        if (p.length() < 1)
        {
            return p;
        }

        for (int i = 0; i < p.length(); i++)
        {
            if (p.charAt(i) == s)
            {
                p = p.substring(0, 1) + n + p.substring(++i)

                System.out.println(p);

                return moreAs(p, s, n)
            }
        }
    }

    return s2;
}

私は仕事のためのJavaプログラムを書いて、プログラムはより」例えば、ユーザ入力 『アナグラムは』出力 『aaanaaagraaam』であるかどう2で文字「」のいずれかの発生を置き換える必要があります。これは、再帰的に任意のアイデアを行わなければなりませんか?私は私がどんな質問を、私は確かにないんだけど、右のトラックにだと思います。私は3のを含む文字列と呼ばれるn個をした知っていますが、私は1を削除した場合、私は私が3つの者とそれを置き換えるために持っていると思いました。

アービンド・クマールのAvinash:

あなたはOOTB(アウトオブボックス)を使用して、それを行うことができます文字列::でReplaceAll機能するか、次のようにカスタム再帰関数を使用して:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine();
        System.out.println("Original string: " + str);
        System.out.println("Updated string: " + str.replaceAll("a", "aaa"));

        // Using recursive function
        System.out.println("Updated string (using recursive function): " + moreAs(str, 0));
    }

    static String moreAs(String str, int n) {
        if (n == str.length()) {
            return str;
        }
        if (str.charAt(n) == 'a') {
            // Call the function recursively after replacing 'a' with 'aaa' in str 
            return moreAs(str.substring(0, n + 1) + "aa" + str.substring(n + 1), n + 3);
        } else {
            // Call the function recursively without changing str
            return moreAs(str, n + 1);
        }
    }
}

サンプルを実行します。

Enter a string: anagram
Original string: anagram
Updated string: aaanaaagraaam
Updated string (using recursive function): aaanaaagraaam

カスタム再帰関数のロジックはシンプルで簡単です。何の疑いも/問題の場合にはコメントをお気軽に。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=364842&siteId=1
おすすめ