Ciao a tutti.
Sto cercando di imparare i TreeSet e le liste, ho provato a fare questo esercizio ma mi stampa solo la prima riga della tabella, non riesco a capire dove sbaglio. Cosa ne pensate?
Grazie a tutti...
codice:
import java.util.*;
public class Spesa {
private List<Alimenti> dati=new ArrayList<Alimenti>();
Spesa(){
TreeSet<Alimenti> blocknotes=new TreeSet<Alimenti>();
Alimenti frutta=new Alimenti();
Alimenti colazione=new Alimenti();
Alimenti pranzo=new Alimenti();
/*riempio la tabella con gli alimenti*/
frutta.add(new String("Mela"));
frutta.add(new String("Arancia"));
frutta.add(new String("Melone"));
colazione.add(new String("Latte"));
colazione.add(new String("Biscotti"));
colazione.add(new String("Caffe'"));
pranzo.add(new String("Pasta"));
pranzo.add(new String("Sugo"));
pranzo.add(new String("Vino"));
blocknotes.add(frutta);
blocknotes.add(colazione);
blocknotes.add(pranzo);
dati=new ArrayList<Alimenti>(blocknotes);
}
public String toString(){
StringBuilder build=new StringBuilder();
for(int i=0;i<dati.size();i++){
Alimenti row=dati.get(i);
build.append(i+1+" "+row.toString()+"\n");/*salva la riga corrente in append*/
}
return build.toString();/*ritorna la tabella*/
}
public static void main(String[] args){
Spesa spesa=new Spesa();
System.out.println(spesa.toString());
}
/*InnerClass */
class Alimenti implements Comparable<Alimenti>{
private List<Object> alimentari=new ArrayList<Object>();
/*aggiunge un elemento alla tabella*/
public void add(Object o){
alimentari.add(o);
}
/*ritorna un elemento in posizione i*/
public void get(int i){
alimentari.get(i);
}
/*ritorna lo stato di Alimenti*/
public String toString(){
String str=" ";
int i=0;
for(Object y:alimentari){/*ripeti fino a quando gli alimenti non sono finiti*/
str+=(alimentari.get(i)+" ");
i++;
}
return str;
}
@Override
public int compareTo(Alimenti o) {
// TODO Auto-generated method stub
return 0;
}
}
}
il risultato che mi da e' questo:
codice:
1 Mela Arancia Melone /*ma dove sono le altre righe della tabella?*/