Ciao a tutti.
Dovrei realizzare la seguente cose utilizzando un array circolare FIFO di dimenzione 3 .
per realizzarlo ho attinto alla classe utilizzata in questo post
http://forum.html.it/forum/showthrea...rray+circolare
Quello che voglio fare è la seguente:codice:public class FIFO { private String array[]; private int in; //prossima posizione in ingresso private int out; //prossima posizione in uscita private int count; //contatore posizioni piene private final int DIM; //dimensione array public FIFO(int dimensione) { DIM = dimensione; in=0; out=0; count=0; array = new String[DIM]; //crea l'array } public boolean insert(String s) { if(count==DIM) //se la coda è piena return false; array[in] = new String(s); //inserisce la stringa in posizione in count++; //incrementa il contatore di elementi in = (in+1)%DIM; //incrementa la posizione di ingresso in modo circolare return true; } public String extract() //restituisce un elemento, cancellandolo dalla coda { if(count==0) //se la coda è vuota return null; String risp = new String(array[out]); count--; out = (out+1)%DIM; return risp; } public String toString() //restituisce la successione di elementi senza estrarli dall'array { if(count==0) { System.out.println("La CODA e' vuota!"); return null; } String risp = ""; int pos; for(int i=0; i<count; i++) { pos = (out+i)%DIM; risp = new String(risp+array[pos]); } //se è necessario svuotare l'array basta togliere il commento dal codice /* in=0; out=0; count=0; */ return risp; } }
IL Programma mi chiede se voglio inserire una lettrera > Se > la lettera è presente nell'array, manda un msg, ALTRIMENTI> La inserisce in cima all'array.
il file che cerca di realizzare ciò è
l'errore che mi da è il seguente:codice:import PackageFIFO.*; import java.io.*; import prog.io.*; public class ProvaFiFO { public static void main(String[] args) { ConsoleInputManager in= new ConsoleInputManager(); ConsoleInputManager inserisci= new ConsoleInputManager(); ConsoleOutputManager out= new ConsoleOutputManager(); FIFO a= new FIFO(3); while (in.readSiNo("Inserisci altre lettere: ")){ //chiedo se si vogliono inserire altre lettere String InserisciLettera= inserisci.readLine("Inserisci LA LETTERA : "); for (int k=0; k<a.length; k++){ //scandisco l'array per vedere se esiste la lettera if(a[k]==InserisciLettera) System.out.println("lettera esistente"); else a.insert(InserisciLettera); } } } }
Come posso sistemarlo?codice:--------------------Configuration: <Default>-------------------- C:\Documents and Settings\All Users\Documenti\Programmazione\java\ProvaFiFO.java:28: cannot find symbol symbol : variable length location: class FIFO for (int k=0; k<a.length; k++){ //scandisco l'array per vedere se esiste la lettera ^ C:\Documents and Settings\All Users\Documenti\Programmazione\java\ProvaFiFO.java:29: array required, but FIFO found if(a[k]==InserisciLettera) ^ 2 errors Process completed.
Grazie

Rispondi quotando