замена одиночного символа без метода в java

#java #string #methods #replace

#java #строка #методы #заменить

Вопрос:

Если задана строка, такая как «doodle», как я могу заменить «e» на следующие вопросы.

Какой символ вы хотите заменить? Чем вы хотите его заменить? Какое e вы хотите заменить?

Пользователь введет 1 для окончательного ответа, и программа вернет «doodl_», где _ — это буква, на которую они ее заменили.

Условие заключается в том, что вы можете использовать только методы length() , charAt() , substring и equals

if(command1.equalsIgnoreCase(«заменить одиночный»)) {

         System.out.println("Enter the character to replace");
        String replace1=keyboard.nextLine().substring(0,1);
        char replace2=replace1.charAt(0);
        System.out.println("Enter the new character");
        String replace3= keyboard.nextLine().substring(0,1);
        char replace4= replace3.charAt(0);
        System.out.println("Which " replace2 " would you like to replace?");
        int position=keyboard.nextInt();
        int i=0;

        for(i=0;i<input.length();i  )
        {   
            char ichar=input.charAt(i); 


            if(ichar==replace2)
            {
                if(position==i)

                {
                input=input.substring(0,i) replace4 input.substring(i 1);   
                }
  

>

Это текущий код, который может заменить только букву, учитывая, что индекс буквы также является местоположением n-й буквы для замены.

Ответ №1:

вы можете вычитать 1 из позиции каждый раз, когда видите символ, и как только ваша позиция равна 0, вы нашли свою позицию:

 for(i=0;i<input.length();i  )
{   
    char ichar=input.charAt(i); 
    if(ichar==replace2)
    {
        position--;
        if(position == 0)
        {
            input=input.substring(0,i) replace4 input.substring(i 1);   
        }
    }
}