Ciao, se ho ben capito stai studiando la ricorsione, quindi suppongo che l'esercizio che hai proposto devi svolgerlo ricorsivamente, mentre la soluzione ceh hai dato è iterativa.
Inoltre non credo che sia nello scopo dell'esercizio usare la funzione che ti è stata suggerita, anche se cmq si usa quella nel caso pratico.
Per fini di studio cmq la funzione ricorsiva che risolve il problema dovrebbe essere questa
l'ho scritta direttamente nel browser, perdona se ci sono piccoli erroricodice:public String decimal2binary(int n) { if (n==0) return "0"; else { if (n==1) return "1"; else { String bin=decimal2binary(n\2); int r=n%2; return bin+r; } } }