Salve ragazzi, sn con un nuovo quesito da porvi.
Sto perdendo un casino di tempo.
Ho da realizzare una lista circolare in java. La sua interfaccia è definita come segue
il problema è nell'implementazione della classe che implementa l'interfaccia e credo che lo faccio nel metodo addCircList...codice:public interface CircList<T> extends Iterable<T>{ public void addCircList(T e); public void delCircList(); public T value(); public boolean isEmpty(); public void ruotaAvanti(); public int numItem(); }
mi potete dire dove sbaglio???
questa è l'implementazione della classe
codice:public class ListaCircoCollegata<T> implements CircList<T>{ int n =0; Record<T> listHead = null; Record<T> fine = null; @Override public void addCircList(T e) { // TODO Auto-generated method stub if(isEmpty()){ //System.out.println("Entro"); listHead = new Record<T>(e); fine = listHead; n++; } else { fine.next = new Record<T> (e,fine); fine = fine.next; n++; } } @Override public void delCircList() { // TODO Auto-generated method stub if(isEmpty()) throw new EccezionestrutturaVuota("Struttura Vuota"); listHead = listHead.next; n--; } @Override public boolean isEmpty() { // TODO Auto-generated method stub return listHead == null; } @Override public int numItem() { // TODO Auto-generated method stub return n; } @Override public void ruotaAvanti() { // TODO Auto-generated method stub listHead = listHead.next; } @Override public T value() { // TODO Auto-generated method stub if(isEmpty()) throw new EccezionestrutturaVuota("Struttura Vuota"); return (T)listHead.elem; } public Iterator<T> iterator(){ return new ListaCircIterator<T>(listHead,fine); } public static void main(String[] args) { ListaCircoCollegata<String> listaCircolare = new ListaCircoCollegata<String>(); listaCircolare.addCircList("alfa"); listaCircolare.addCircList("beta"); listaCircolare.addCircList("gamma"); listaCircolare.addCircList("delta"); listaCircolare.addCircList("epsilon"); listaCircolare.addCircList("zeta"); listaCircolare.addCircList("eta"); listaCircolare.addCircList("theta"); System.out.println("Stampo gli elementi inseriti"); Iterator it = listaCircolare.iterator(); while(!it.hasNext()) { System.out.println("Stringa: " + it.next()); } listaCircolare.ruotaAvanti(); listaCircolare.ruotaAvanti(); listaCircolare.delCircList(); System.out.println("Stampo gli elementi dopo aver eseguito le varie operazioni"); Iterator it2 = listaCircolare.iterator(); while(!it2.hasNext()) { System.out.println("Stringa: " + it.next()); } } }



Rispondi quotando
