Witam serdecznie,
Wzorując się na wielu sposobach rozwiązania problemu plecakowego udało mi się napisać program, który działa poprawnie, ale na zajęcia mam oddać wersję z funkcją rekurencyjną nie zawierającą pętli. Chciałem przerobić to metoda Refaktoryzacji, jednak ciągle dostaję złe wyniki.

proszę o jakieś wskazówki w jaki sposób mogę to poprawić.

    public String plecak(int waga, int pocz) {
        String temp = "";
        for(int i = pocz ; i < tab.length ; i++) {  //tab[] przechowuje kolejne wagi
            if(tab[i] == waga) {
                return String.valueOf(tab[i]);
            } else if(waga > tab[i]) {
                temp = plecak(waga - tab[i], i + 1);
                if(!temp.equals("BRAK")) {
                    return String.valueOf(tab[i]) + " " + temp;
                }
            }
        }
        return "BRAK";
    }