새로운 사용자 :
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;
}
나는이 일을 위해 자바 프로그램을 쓰고 있어요, 프로그램은 더는 '예를 들어, 사용자 입력 "철자 바꾸기가"출력 "aaanaaagraaam"될 경우 두 사람과 함께 문자'A '의 발생을 교체해야합니다. 이것은 재귀 적으로 어떤 아이디어를 수행해야합니다? 난 내가 어떤 질문을, 나는 확실히에 아니에요 바른 길에 생각 해요. 나는 3의 포함 된 문자열이라는 N을했습니다 알고하지만 난 하나를 제거하면 나는 나는 3 명 A의로 대체해야합니다 생각했다.
아빈 드 쿠마 Avinash :
당신은 OOTB (아웃 오브 박스)를 사용하여 그것을 할 수있는 문자열 : 완전히 대체의 기능 또는 다음과 같이 정의 재귀 함수를 사용하여 :
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
사용자 정의 재귀 함수의 논리는 정직하고 단순하고 있습니다. 의심 / 문제의 경우에 의견을 주시기 바랍니다.