Devo risolvere questo esercizio.
Esercizio:
Ogni oggetto della classe ListaChar rappresenta una lista di caratteri implementata mediante una
rappresentazione collegata i cui nodi sono oggetti di tipo NodoChar. La classe NodoChar è la seguente:
public class NodoChar {
private char info;
private NodoChar next;
public NodoChar(char info, NodoChar next){
this.info=info;
this.next=next;
}
public char getInfo() { return info; }
public void setInfo(char info) { this.info = info; }
public NodoChar getNext() { return next; }
public void setNext(NodoChar next) { this.next = next; }
}
La classe ListaChar ha il seguente scheletro:
class ListaChar {
private NodoChar head;
private int size;
/* Crea una lista contenenti i caratteri presenti nella stringa s passata come parametro. I caratteri
devono apparire nella lista nello stesso ordine in cui compaiono nella stringa. Se la stringa è
vuota o nulla la lista deve essere vuota. */
public ListaChar(String s){...}
/* Riceve in ingresso un array di char caratteri e restituisce un array di interi a della stessa
dimensione di caratteri tale che a è uguale al numero di occorrenze del carattere caratteri nella lista. Ovviamente, se caratteri non compare nella lista a sarà uguale a 0 */
public int[] contaOccorrenze(char[] caratteri){...}
/* Confronta dal punto di vista lessicografico la sequenza di caratteri rappresentata dalla lista su cui
viene invocato il metodo e la sequenza di caratteri rappresentata dalla lista l passata come
parametro. Restituisce -1, 0, o 1 a seconda che la lista su cui viene invocato il metodo sia
lessicograficamente precedente, uguale o successiva alla lista l */
public int compareTo(ListaChar l){...}
/* Restituisce una rappresentazione testuale della lista */
public String toString(){...}
}