Esercitazione 2bis

Sequenza Binaria (ricorsiva)

 



Scrivere una classe SequenzaBinaria che 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) { }

}