andbin ha scritto:
Quindi quale è (ancora) il dubbio? Scusa se lo dico, vedo che ti piace il "C" ... ma se hai questi dubbi/problemi in Java, in C ne avrai almeno 40x
La cosa bella e' che io il C oltre che a livello universitario l'ho studiato per passione perche' mi piace e ti giuro che problemi non ne ho propio... riesco ad implementare delle strutture impeccabili in pochissimo tempo...
Il problema che ho con Java deriva dall'impatto iniziale che ho avuto e anche dal fatto che voi
professionisti mi dite una cosa e all'uni vogliono il contrario...
Allora, dimmi tu, se ti presenti ad un esame di Java, implementi un
albero di ricerca bianaria e nel nodo ovviamente implementi il metodo
printNodes() e ti viene contestata la
println perche'
facendo il programma il questo modo stai programmando in Java come si programma in C
non ti cadono le braccia? Non ti passa la voglia di impegnarti in un qualcosa nel momento in cui chi dovrebbe insegnartela non sa neanche cosa stai facendo?
Oppure, se io devo realizzare questo programma e la struttura piu' appropriata sono le mappe(dizionario) e ti viene detto che
in questo caso le mappe non servono a niente
tu cosa faresti?
Chiusa questa parentesi l'ultimo mio dubbio e' come faccio a conciliare i risultati dei filtri?
Non posso usare filtri nei filtri per il semplice fatto che non voglio usare per forza tutti i filtri contemporaneamente...
La mia soluzione sarebbe una variabile che diventa 0 o null nel momento il cui uno dei filtri restituisce false.
E avrei pensato all'oggetto stanza da aggiungere alla collezione restituita dal filtro,
se uno dei filtri restituisce false allora faccio diventare la stanza null in maniera tale che non viene aggiunta ai risultati>
[spero non sia qualcosa di trascendentale]
public List roomFilter(boolean checkprice, int price)
{
List results = new List();
ListIterator li = l.listIterator();
while (li.hasNext())
{
Hotel h = li.next(); //hotel presente nella lista
ArrayList<Room> rr = h.getRooms(); //arrayList del corrente hotel presente nella lista
ArrayList<Room> filteredRooms = new ArrayList<Room>(); //arrayList di stanze filtrate
for (Room r : rr)
{
//devo aggiungere un controllo sulle varie cose che voglio filtrare! non voglio applicare obligatoriamente tutti i filtri!
Room roomResult = r;
if (checkprice)
{
if (!findMinusPrice(r, price)) roomResult = null;
}
filteredRooms.add(roomResult);
} //end of for
h.setRooms(filteredRooms);
results.addFirst(h);
}
return results;
}