新しいユーザー :
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
カスタム再帰関数のロジックはシンプルで簡単です。何の疑いも/問題の場合にはコメントをお気軽に。