Scrivere una classe
SequenzaBinariache rappresenti delle sequenze di caratteri '0' e '1' e implementi le operazioni indicate nel seguente scheletro della classe. Le operazioni avanzate vanno definite in maniera ricorsiva.public class SequenzaBinaria { // costruisce l'oggetto SequenzaBinaria da una stringa public SequenzaBinaria(String x) {} // operazioni base // restituisce il primo carattere della sequenza public char primo() {} // restituisce una nuova sequenza ottenuta dall'oggetto di invocazione eliminando il primo carattere public SequenzaBinaria resto() {} // restituisce la sequenza ottenuta dall'oggetto di invocazione aggiungendo c, nota non modifica la sequenza originale public SequenzaBinaria aggiungi(char c) // verifica se la sequenza e' vuota public boolean estVuota() {} // operazioni avanzate // calcola la lunghezza della sequenza public int lunghezza() { } // concatena la sequenza binaria t public SequenzaBinaria concatena (SequenzaBinaria t) { } // restituisce la posizione del primo carattere c nella sequenza // oppure -1 se esso non e' presente public int indiceDi (char c) { } // verifica se la sequenza e' uguale a t public boolean uguale (SequenzaBinaria t) { } // verifica se l'oggetto di invocazione e' un prefisso della sequenza binaria p public boolean prefisso (SequenzaBinaria p) { } // restituisce la lunghezza della sequenza piu' lunga di // caratteri c consecutivi public int lungSequenzaMassima (char c) { } }