max1990 ha scritto:
ragazzi sto facendo questo programma
package pr2.liste;
public interface Lista {
/** restituisce il numero di elementi presenti della lista */
int getNumeroElementi();
/** restituisce il primo elemento della lista, se la lista contiene almeno un elemento. Altrimenti restituisce null*/
Object getPrimoElemento();
/** restituisce un array contenente tutti gli oggetti della lista. L'array sara' lungo esattamente quanto il numero di elementi della lista */
Object[] getListaAsArray();
/** inserisce l'elemento passato come argomento all'inizio della lista. Restituisce false se non e' stato possibile inserire l'elemento; true altrimenti*/
boolean insertElemento(Object elemento);
}
e devo consegnare un altro file che x ora ho sviluppato così:
import pr2.liste.*;
class ListaArray implements List {
private Entry head;
private int getNumeroElementi;
private static class Entry {
Object element; //elemento rappresentato
Entry next; //successore
/* crea un oggetto entry che referenzierà l'elemento della lista, dato l’elemento e il successore */
Entry(Object elementi, Entry next) {
this.elementi = elementi;
this.next = next;
}
}
public void esercizio(){
this.head=null;
this.getNumeroElementi=0;
}
/* ritorna il numero di elementi nella lista*/
public int getNumeroElementi() {
return this.getNumeroElementi;
}
/* aggiunge l'oggetto obj in testa alla lista */
boolean insertElemento(Object elemento){
Entry e = new Entry(elemento,this.head);
this.head=e;
this.getNumeroElementi++;
if (this.head==e)
return true;
else return false;
}
}
solo che ci sono miliardi di errori potete darmi una dritta su cosa dovrei fare perchè non trova la classe che non ho capito se devo farla io o meno..e poi mi manca una parte
Ciao la soluzione è semplice visto che stai usando una ListaArray dovresti usare come struttura dati un array.
public class ArrayLista<T>{
T[] t;
int contatore=0; // tiene conto degli elementi presenti nell'array;
public ArrayLista(){ t=new T[10];} //Cos[]truttore di default
public ArrayLista(int size){ t=new T[size]; } // costruttore con una lunghezza passata dall'utente
public boolean insertElemento(T oggetto){
if(oggetto.equals(t[0])) return false;
t=trasla(t);
t[0]=oggetto;
return true;
}
private T[] trasla (T[]v){
T[]g=new T[v.length+1]
for(int i=0;i<v.letgth;i++)
g[i+1]=v
;
}
//Al resto ci penserai tu ti ho mostrato la via. Ciao