Prova al calcolatore

Compito A
Durata: 1:45

Prima parte

Il "Centro Nostri Studi", che realizza tesi e tesine a pagamento, vuole informatizzare il suo archivio. A questo scopo, va realizzata una class Tesi.
I dati di ogni tesi sono i seguenti:

titolo
una stringa, ossia il titolo della tesi
autore
l'autore effettivo della tesi (una stringa)
tesista
il tesista per il quale la tesi è stata realizzata (una stringa)
pagine
il numero di pagine (un intero)
prezzo
il prezzo a cui la tesina è stata pagata (un double)

Si realizzi la classe Tesi, le cui componenti (variabili di istanza) sono titolo, autore, tesista, pagine, prezzo. La classe deve avere un costruttore a 5 argomenti e metodi get e set per ogni componente. Si realizzino anche i metodi toString ed equals.


Seconda parte

Per ognuna delle numerose sedi dislocate nel territorio, si vogliono memorizzare i dati relative alle tesi realizzate. A questo scopo, si realizzi la classe Sede; per ogni sede, va rappresentato l'insieme delle tesi realizzate, usando un array, oppure una LinkedList, oppure una Lista, oppure un HashSet. I metodi da implementare sono i seguenti:

static Tesi readTesi(BufferedReader br)
legge i dati di una tesi dal BufferedReader passato come argomento: ritorna un oggetto Tesi con questi dati, oppure null se non è stato possibile leggere i dati perchè il file è finito;
Sede(String nomefile)
il costruttore ha come parametro il nome di un file: i dati delle tesi contenuti nel file vengono letti e memorizzati nella struttura dati usata per la loro memorizzazione
boolean erroreNome()
verifica se esiste un oggetto per il quale il nome del tesista è uguale a quello dell'autore: ritorna true in questo caso e false altrimenti
double compensoAutore(String nome)
calcola la cifra totale pagata a un certo autore (il cui nome viene dato come argomento) per tutte le tesi che ha compilato