Buongiorno a tutti ragazzi, come va?
Dato che ho un po' di difficolta a pensare ricorsivamente, vorrei farvi esaminare un codice appunto ricorsivo...il metodo deve verificare se una data strigna è tandem, sapendo che tandem è una parola come "toctoc", ossia con stringe che si ripetono.

codice:
public class Tandem {
    private String parola;
    public Tandem(String parola) {
        this.parola = parola;
    }
    public String getParola() {
        return parola;
    }
    public boolean èTandem(String stringa) {
        if(stringa.length() < 2)
            return false;
        if(stringa.length() == 2) {
            char lettera1 = stringa.charAt(0);
            char lettera2 = stringa.charAt(1);
            if(lettera1 == lettera2)
                return true;
            else
                return false;
        }
        if(stringa.length() > 2) {
            String stringa1 = stringa.substring(0, stringa.length()/2);
            String stringa2 = stringa.substring(stringa.length()/2, stringa.length() - 1);
            for(int i = 0; i < stringa1.length(); i++) {
                for(int j = 0; j < stringa2.length(); j++) {
                    char lettera1 = stringa1.charAt(i);
                    char lettera2 = stringa2.charAt(j);
                    if(lettera1 == lettera2)
                        return true;
                }
            }
        }
        return èTandem(stringa);
    }
}
è valido secondo voi come metodo ricorsivo?

Grazie mille in anticipo