Java Устранение проблемы со строкой (Пожалуйста, не давайте никаких решений с помощью StringBuilder или BufferedWriter) - PullRequest
0 голосов
/ 24 марта 2020

Задача: В этой задаче вы удаляете все вхождения строки удаления из исходной строки. Каждый раз, когда вы вынимаете строку удаления, вы также должны удалять букву, которая предшествовала строке удаления. После удаления строки и ее начального символа необходимо проверить, существует ли еще вхождение строки удаления.

Вопрос: я не понимаю, почему я продолжаю получать это исключение и как почини это. Мой вход для организации fuxqwexqwertyxqwexqwertyrtyxqwertyrtyn. Мой вход для удаления qwerty. Мой ожидаемый вывод должен быть забавным.

Исключение в потоке "main" java .lang.StringIndexOutOfBoundsException: начало 1, конец 7, длина 3 в java .base / java .lang.String. checkBoundsBeginEnd (String. java: 3410) в java .base / java .lang.String.substring (String. java: 1883) в Exercise8.remove (Упражнение 8. java: 17) в упражнении 8 .main (Упражнение 8. java: 10)

import java.util.*;

public class Exercise8 {

    public static void main(String[] args) {
         Scanner scan = new Scanner(System.in);
         System.out.println("Sample input: ");
         String org = scan.nextLine();
         String removal = scan.nextLine();
         remove(org, removal);
    }

    private static void remove(String org, String removal) {
        for (int x = 0; x < org.length()-1; x++)
        {
            if (org.substring(x,x + removal.length()).equals(removal))
            {
                org = org.substring(0,x-1) + org.substring(x + removal.length(), org.length());
                x = 0;

            }
        }

        System.out.println(org);
    }
}

1 Ответ

0 голосов
/ 24 марта 2020
    for (int x = 0; x < org.length()-removal.length(); x++)
    {
        if (org.substring(x,x + removal.length()).equals(removal))
        {
            org = org.substring(0,x-1) + org.substring(x + removal.length(), org.length());
            x = 0;

        }
    }

Вы должны позаботиться о том, чтобы ваша подстрока не начиналась с неверного индекса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...