ragazzi sto impazzendo da ore su questa cosa, sicuramente è una cavolfiorata
"Si deve progettare una classe BufferQuadrato. Un BufferQuadrato è costituito da un array BUF di N buffer, ciascuno dei quali può contenere N elementi di tipo T. Ogni BUF[i] si comporta singolamermente come un buffer circolare. [...]"
ora ho creato una classe Buffer estendendo linkedlist di java che ha i metodi che mi servono
codice:
import java.util.LinkedList;
public class Buffer<T> extends LinkedList<T>{
private static final long serialVersionUID = 1L;
final int dim = 5;
public synchronized boolean HPUT(T E){
while(size() == dim)
try{this.wait();}
catch(InterruptedException e){}
notifyAll();
return super.add(E);
}
public synchronized T HGET(){
while(isEmpty())
try{this.wait();}
catch(InterruptedException e){}
notifyAll();
return super.remove();
}
public synchronized boolean VPUT(int j, T E){
while(size() == dim)
try{this.wait();}
catch(InterruptedException e){}
notifyAll();
super.add(j, E);
return true;
}
public synchronized T VGET(int j){
while(isEmpty())
try{this.wait();}
catch(InterruptedException e){}
notifyAll();
return super.remove(j);
}
}
ora devo creare la classe BufferQuadrato, che come dice il testo è un array BUF di N buffer, quindi un array di Buffer?
Mettiamo caso che voglio provare questo BufferQuadrato con degli int, provo a creare il buffer quadrato così:
codice:
ArrayList<Buffer<String>> buf = new ArrayList<Buffer<String>>(5);
eclipse me lo segnala corretto, ma appena provo a scrivere
codice:
for(int i=0;i<5;i++){buf[i] = new Buffer<String>();}
mi da una serie infinita di errori:
- Syntax error on token ";", { expected after this - alla linea ArrayList<Buffer<String>> buf
- The type of the expression must be an array type but it resolved to ArrayList<Buffer<String>> - alla linea del for
- Syntax error, insert "}" to complete ClassBody
ho provato in altre decine di modi ma non riesco proprio, penso che sto impazzendo
riuscite a capirci qualcosa?