Код для замены одного экземпляра буквы на 2 более рекурсивных - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь заменить каждый экземпляр a на 3 b, у меня есть код, чтобы заменить его на один b, но я не могу понять, как вставить несколько экземпляров буквы. Я бы использовал строку вместо символа, так как он не может содержать больше одного символа, но это дает мне ошибку.

import java.util.Scanner;
public class replace 
{
  public static void main(String[] args) 
  {
    Scanner input = new Scanner(System.in);
    String words = input.nextLine();
    char from = 'a';
    char to = 'b';

    System.out.println(replace(words, from, to));
  }

  public static String replace(String s, char from, char to){
    if (s.length() < 1) 
    {
      return s;
    }
    else 
    {
      char first = from == s.charAt(0) ? to : s.charAt(0);
      return first + replace(s.substring(1), from, to);
    }
  }
}

1 Ответ

1 голос
/ 25 марта 2020
import java.util.Scanner;
public class replace 
{
  public static void main(String[] args) 
  {
    Scanner input = new Scanner(System.in);
    String words = input.nextLine();
    String from = "a";
    String to = "bbb";

    System.out.println(replace(words, from, to));
  }

  public static String replace(String s, String from, String to){
    if (s.length() < 1) 
    {
      return s;
    }
    else 
    {
      String first = from.equals(s.substring(0,1)) ? to : s.substring(0,1);
      return first + replace(s.substring(1), from, to);
    }
  }
}
...