Prova al calcolatore
Compito C
Durata: 1:45
Prima parte
La clinica `C. Vostri'
vuole informatizzare l'archivio dei propri clienti. A tale
scopo, si realizzi la classe Paziente; i dati da
memorizzare per ogni paziente sono i seguenti:
- nome
- una stringa
- patologia
- un intero, che rappresenta il codice della patologia
- degenza
- un altro intero, che indica il numero di giorni che il
paziente ha già trascorso all'interno della clinica
- prognosi
- un altro intero, che indica i giorni previsti di
prognosi (durata totale della degenza)
Si realizzi la classe Paziente, con le
componenti (=variabili di istanza) nome, patologia,
degenza, prognosi. La classe deve avere un costruttore
a 4 argomenti e metodi get e set per ogni
componente. Si realizzino anche i metodi toString
ed equals.
Seconda parte
Per ogni reparto della clinica, vogliamo un oggetto che
rappresenta l'insieme dei dati dei pazienti ricoverati in
quel reparto. Per rappresentare un insieme, si usi un array,
oppure una LinkedList, oppure una Lista,
oppure un HashSet
Si realizzi la classe Reparto con i seguenti metodi:
- static Paziente readPaziente(BufferedReader br)
- metodo statico che legge i dati di un paziente da un
BufferedReader, e restituisce un oggetto
Paziente con questi dati; se il file è
finito, va restituito null
- Reparto(String nomefile)
- il costruttore ha come parametro il nome di un file: i
dati dei pazienti contenuti nel file vengono letti e
memorizzati nella struttura dati usata per la loro
memorizzazione
- void aggiorna()
- per ciascun paziente, se il numero di giorni di
degenza supera quelli di prognosi, si aggiornano i giorni di
prognosi rendendoli uguali a quelli di degenza
- Paziente erPeggio(int p)
- ritorna il paziente con la patologia rappresentata dal
codice p che ha il maggiore numero di giorni di
degenza in tutto il reparto