Eclipse Java IDE - czy jest jakiś wygodny sposób na odpalenie pojedynczych metod?

0

Witam. Chciałbym się zapytać o pewną funkcję Eclipse do Javy osób, które na nim pracują. Jeżeli mam np. jedną klasę, zawierającą wiele metod, to czy jest jakiś sposób aby sprawdzić ich działanie bez konieczności tworzenia main(String[]args)

Np. mam klasę, która zawiera trzy metody: jedną, która szuka pierwszej litery wyrazu pobierającą położenie w tekście od którego ma zaczynać, drugą która szuka ostatniej litery wyrazu z tymi samymi argumentami i trzecią, która pobiera plik tekstowy i za pomocą dwóch poprzednich szuka słów. Powiedzmy, że chcę odpalić tę drugą, podając jej samemu dowolny tekst i położenie. Po boku mam okienko > outline i > Run as. Spodziewałem się, że pozwoli mi to odpalić metodę, po prostu jak w BlueJ, ale pojawia się okno konfiguracji w którym nie mam pojęcia co zrobić i czy na pewno uda mi się przez to ustawić opcję szybkiego odpalania metod. Jakby ktoś mógł mi pomóc, to byłbym wdzięczny za pomoc. Pozdrawiam.

1

JShell służy do odpalania luźnych skrawków kodu. Jest dostępny w JDK 9+ i można go używać z poziomu Eclipsea - z odpowiednią wtyczką Eclipse poda jako classpath klasy z twojego projektu i będziesz mógł ich bezpośrednio używać.

0

No to może być problem, bo mam Antergosa i zainstalowane JDK 8. Z tego co widzę w repozytoriach, to jest dostępne JDK 10, dziewiątki nie ma, ale znowu nie wiem czy to się nie pokrzaczy z aktualną wersją Eclipse - Oxygen.1a Release (4.7.1a). Miałem duże problemy z tym wcześniej na Ubuntu i tutaj pewnie może być podobnie. No nic... Może popróbuję.

0

A może to. Dr.Java
http :// www .drjava.org

0

Ktoś może ma jakiś pomysł co robię źle albo co działa źle. Zrobiłem sobie ten Scrappbook page w Eclipse do uruchamiania fragmentów kodu, tyle że jedyne co udało mi się do tej pory uruchomić, to komenda "Witaj świecie". Wklejam taką metodę:

    public int findLastLetter(int pos, String text)
    {
        while (pos<text.length()){
            if (Character.isLetter(text.charAt(pos))==true&&(pos+2>text.length()||Character.isLetter(text.charAt(pos+1))==false)){return pos;}
            pos++;
            if (pos == -1){break;};    
        }
        return -1;
    }

i wyskakuje mi: Syntax error on token "(", ; expected Wydawało mi się, że powinno być wszystko w porządku. Identyczny kod wklejam do tego terminala z Javy 10, (chyba to jest ten cały JShell) i działa normalnie. :(

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