Błąd debugera, nieoczekiwany wynik metody

0

Witam
mam problem z debugerem, po włączeniu go dostaję komunikat:

"C:\Program Files\Java\jdk-12\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:55991,suspend=y,server=n -javaagent\Users\Dell.IdeaIC2019.2\system\captureAgent\debugger-agent.jar -Dfile.encoding=UTF-8 -classpath "D:\USER\Programowanie\SPOJ\Easy\4797 WI_IDEN\out\production\4797 WI_IDEN;C:\Program Files\IntelliJ IDEA Community Edition 2018.3.5\lib\idea_rt.jar" Main
Connected to the target VM, address: '127.0.0.1:55991', transport: 'socket'
Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

Nigdy wcześniej nie miałem problemu z debugerem.

Metoda przyjmuję z zewnątrz słowo oraz liczbę która określa maksymalną długość wyrazu. Jeśli wyraz jest większy od wymaganej długości to ma usuwać po kolei litery zaczynając od przedostatniej.

przykład:
słowo: dfghd
oczekiwany wynik: dfgd
wynik który otrzymuję: dgd

kod:

public class DelateLetter {
    static String delateLetter(String words, int chars) {
        int counterOfChars = words.length();
        int charsToDelate = counterOfChars - chars;

        for (int i = counterOfChars - 2; i > 0; i--) {
                StringBuffer str = new StringBuffer(words);
                words = str.delete(i, i + 1).toString();
                checkCharsToDelate(--charsToDelate,--i);
        }
        return words;
    }

    static int checkCharsToDelate (int charsToDelate, int i){
        if (0 == charsToDelate){
            return -1;
        }
        return i;
    }
}

cały projekt:
https://github.com/JakubSto/SPOJ-WI_IDEN-4797-

1

Hej @JakubSto,
Spróbuj w intelij: ctrl+alt+S (settings) --> Build, Execution, Deployment -> Async Stack Traces. Odznacz "Instrumenting agent" i spróbuj ponownie

0

Działa, co się stało? nic nie zmieniałem, zawsze działało chyba że aktualizację coś zmieniły?

0

Debuger działa to i błąd znaleziony metoda która sprawdzała czy jest potrzeba jeszcze skrócić wyraz zwraca i które nigdzie nie było przypisane prawidłowa linijka nr 9 powinna wyglądać tak:

i = checkCharsToDelate(--charsToDelate,--i);

1 użytkowników online, w tym zalogowanych: 0, gości: 1