Problema esercizio

di il
7 risposte

Problema esercizio

Raga salve a tutti,
volevo chiedervi un favore nn riesco a fare un esercizio me lo risolvete perfavore...
traccia:
Considerare lo scenario di un Ospedale.
Si supponga di avere implementate le classi relative al Medico, Persona e Ricetta.
Un Medico è identificato dal suo codice fiscale ed ha un nome, un cognome, un’età ed un ruolo.
Ogni Persona è identificata dal codice fiscale ed è caratterizzata da un nome, un cognome ed un’età.
Ogni Ricetta è identificata da un codice ed è caratterizzata da una data e da un prezzo.
Per ognuno di questi oggetti, si supponga di avere un implementazione completa, con tutti i metodi accessori di tipo getXXX() e con i metodi ereditati implicitamente da Object.
Supponiamo di avere una classe Ospedale che contenga al suo interno le seguenti strutture dati:
ArrayList<Medico> medici
* LinkedList<Persona> persone
* HashMap<Medico, LinkedList<Persona>> pazienti
* HashMap<Persona, LinkedList<Ricetta>> prescrizioni
* a) Scrivere l’implementazione di un metodo pazientiGiovani che, dato un medico in input, restituisca la lista dei suoi pazienti che hanno meno di 20 anni e a cui sono state prescritte più di 5 ricette.

c) Scrivere l’implementazione di un metodo medicoAnziano che, dopo aver calcolato l’insieme dei medici a cui non sono stati assegnati ancora dei pazienti, restituisca il medico più anziano.
grazie

7 Risposte

  • Re: Problema esercizio

    Perfavore è importante
  • Re: Problema esercizio

    Grazie a tutti -.- per la risposta bellissimo server devo dire la gente scrive i messaggi e nessuno risponde per giorni COMPLIMENTONI
  • Re: Problema esercizio

    Ciao,
    provo a risponderti io:

    a) Bisogna prendere dalla HashMap "pazienti" la lista di pazienti(Persona) del medico in input, poi prendiamo dalla HashMap "prescrizioni" la lista delle ricette di ogni paziente, dopodichè selezioniamo solo quelli con età inferiore a 20 anni e che hanno avuto più di 5 prescrizioni.
    
            public LinkedList pazientiGiovani(Medico m){
                       LinkedList pazienti=(LinkedList)pazienti.get(m);//prende i pazienti del medico m
                       LinkedList<Persona> ris=new LinkedList();
                       Iterator it=pazienti.iterator();
                        while(it.hasNext()){
                             Persona p=(Persona)it.next();
                             LinkedList prescrizioni=prescrizioni.get(p);
                             if(p.getEta()<20 && prescrizioni.size()>5) 
                                      ris.add(p);}
                         return ris;}
                       
    
    
    b)Il ragionamento è analogo. "Scorriamo" la mappa "pazienti" e prendiamo solo quelli che hanno la lista dei pazienti vuota, da questi poi selezioniamo il più anziano:
    
     public Medico medicoAnziano(){
        Iterator it=pazienti.KeySet().iterator(); //così otteniamo l'iteratore sui medici(chiavi)
        Medico ris;
        while(it.hasNext()){
                   Medico m=(Medico)it.next();
                     if(pazienti.get(m).isEmpty()){
                             if(ris==null) ris=m; //così inseriamo il primo elemento per il confronto
                             if(ris.getEta()<m.getEta()) ris=m; 
                             } //fine if
                   }//fine while
                 
                return ris;
    }
       
    


    Spero d'essere stato utile , però la prossima volta chiedi cose più specifiche, non la risoluzione di esercizi interi, cerca di concentrarti sui punti in cui hai problemi....
    Ah nota che ho utilizzato dei cast forzati, è molto più veloce ma poco formale
    ciao
  • Re: Problema esercizio

    Grazie per la risposta
  • Re: Problema esercizio

    stefanoq21 ha scritto:


    grazie a tutti -.- per la risposta bellissimo server devo dire la gente scrive i messaggi e nessuno risponde per giorni COMPLIMENTONI
    Ciao
    pur non essendo moderatore della sezione, faccio comunque parte dei moderatori di questo forum, e devo dire che il tuo atteggiamento non è stato il massimo in questo post, tanto da violare alcune regole del forum. Innanzitutto non puoi venire in un forum a chiedere di risolverti un esercizio. Un forum serve per cercare soluzioni ai propri dubbi, e non per farsi risolvere i compiti di casa. Poi non puoi certo pretendere che si debba obbligatoriamente rispondere a un post, e i motivi sono molteplici. Non abbiamo una soluzione al tuo problema, visto che non siamo tutti geni, quindi chi si connette non è detto che sappia risponderti; chi sta all'interno del forum lo fa per solidarietà altrui, poichè il tutto è gratuito, quindi non rispondendo si può benissimo far notare il fatto, appunto, che non hai chiesto consigli ma la risoluzione vera e propria del problema. inoltre è assolutamente vietato da regolamento sollecitare la risposta al post. Non sei certo l'unico che non riceve una risposta, assumendo tra l'altro toni offensivi verso la comunità.

    Detto questo credo che citerò il tuo messaggio al moderatore supremo.
  • Re: Problema esercizio

    Guarda quello ceh ho detto nn me lo rimangio capisco che in un forum è tutto gratuito e quindi nessuno ha l'obbligo di fare niente, ma un moderatore che dovrebbe stare un po attento alla sua sezione poteva anche dirmi quello ceh mi stai dicendo tu ora prima che scrivessi quella frase. E' poi come vedi e servito a riavvivare un po il forum ne sono fiero.
  • Re: Problema esercizio

    Il moderatore in questione ha anche i suoi problemi... sai, siamo gente che lavora, e quindi non sempre può connettersi... se vai a vedere la mia ultima attività prima di stasera risale a più di un mese fa, quindi anch'io in questo periodo ho trascurato le mie sezioni.
    Di certo non puoi andarne per niente fiero, poichè chi ti ha risposto, se aveva intenzione di rispondere, lo avrebbe fatto anche senza le tue solleccitazioni.
Devi accedere o registrarti per scrivere nel forum
7 risposte