Si vuole realizzare un programma di gestione delle prenotazioni di una agenzia di viaggi. La prima classe da realizzare (Viaggio) ha oggetti che modellano i singoli viaggi. In particolare, per ogni viaggio vanno memorizzati i seguenti 5 dati:
La classe Viaggio deve avere i seguenti metodi:
costruttore | prende come parametri: destinazione, costo, cliente, durata, giorno, mese e anno di un viaggio ed inizializza l'oggetto creato con quei dati |
ottieniDest | restituisce la destinazione del viaggio |
ottieniCosto | restituisce il costo del viaggio in EURO |
ottieniCliente | restituisce il cognome del cliente |
ottieniDurata | restituisce la durata del viaggio (in giorni) |
ottieniPartenza | restituisce la data di inizio del viaggio (espressa come numero di giorni dall'inizio dell'anno) |
leggi | metodo static che prende come parametro un canale BufferedReader, legge da quel canale 5 linee contenenti nell'ordine: destinazione, costo, cliente, durata e data partenza, e restituisce l'indirizzo di un nuovo oggetto Viaggio inizializzato con quei dati, oppure null se non è stato possibile leggere tutti e 5 i valori dal canale. |
Creare una classe GestioneViaggi per la gestione dell'agenzia di prenotazione viaggi. Ogni oggetto della classe ha come (unica) variabile di istanza il nome di un file archivio in cui si trovano i dati dei viaggi prenotati relativi ad uno stesso anno.
La classe GestioneViaggi deve avere i seguenti metodi:
costruttore | prende come parametro il nome di un file archivio |
importoTotale | metodo che calcola e restituisce il totale degli importi dei viaggi prenotati, maggiorato del 10% |
listaPerData | metodo che prende come parametro una data x (espressa come numero di giorni dall'inizio dell'anno), accede al file archivio, e stampa su video i dati (destinazione e cognome cliente) di tutti i viaggi che comprendono la data x. |