Ho questa traccia per l'esame di informatica
Si vuole realizzare un sistema informativo per gestire un’agenzia di viaggi. In particolare, il sistema deve consentire di memorizzare i clienti dell’agenzia. Per ciascun cliente occorre memorizzare il nome, il cognome e la data di nascita. Un cliente può prenotare uno o più soggiorni in hotel. Per ciascun hotel occorre memorizzare il nome, la località e il numero di stelle. Ogni hotel fornisce dei servizi. Di ogni servizio occorre memorizzare il nome ed il costo. Un cliente può acquistare uno o più biglietti ferroviari. Per ciascun biglietto occorre registrare la data di emissione, il costo ed i giorni validità. Un cliente può infine comprare un biglietto aereo. Per ciascun biglietto aereo bisogna registrare la data di emissione, il costo e la compagnia aerea.
Con riferimento allo scenario sopra descritto, si chiede di risolvere i seguenti punti:
1. Modellare in Java lo scenario sopra descritto. Dotare ciascuna delle classi individuate in fase di analisi di un costruttore. Dotare ciascuna delle classi dei metodi di accesso giudicati opportuni.
2. Scrivere una funzione che, dato un cliente C e una località L, restituisca il numero di soggiorni effettuati da C in un albergo sito nella località L.
3. Scrivere una funzione che, dato un cliente C, restituisca la spesa storica di C in biglietti ferroviari, ovvero la somma che C ha globalmente speso per comprare biglietti ferroviari.
4. Scrivere una funzione che riceve in ingresso un intero x e un cliente C e restituisce true se C ha soggiornato solo in hotel aventi un numero di stelle superiore a x.
5. Scrivere una funzione che, dato un cliente, restituisca il biglietto ferroviario più costoso da lui acquistato.
6. Scrivere una funzione che, dato un cliente, restituisca true se è maggiorenne.
7. Scrivere una funzione che, dato un biglietto ferroviario, restituisca true se è valido alla data attuale.
8. Scrivere una funzione che, dato un cliente, restituisca la compagnia aerea dell'ultimo biglietto aereo acquistato.
9. Scrivere una funzione che, dato un hotel, restituisca il servizio più costoso.
10. Scrivere una funzione che, dato un cliente, restituisca il servizio più costoso di ogni albergo in cui ha soggiornato.
11. Scrivere una funzione che, dato un cliente, restituisca true se ha sempre viaggiato con la compagnia “Alitalia”.
Si suggerisce di utilizzare i seguenti metodi della classe Calendar:
• Calendar set(int anno, int mese, int giorno)
• void getInstance()
• boolean after(Object altraData)
Questo è il pezzo di codice che ho scritto riguardo la classe cliente però non so come inserire la data usando Calendar
ackage progetto;
import java.util.*;
class Cliente {
String nome;
String cognome;
Calendar data_di_nascita;
public Cliente(){}
public Cliente(String n, String c, Calendar data) {
this.nome = n;
this.cognome = c;
this.data_di_nascita = data;
}
public String getNome(){
return nome;
}
public void setNome(String nome){
this.nome = nome;
}
public String getCognome(){
return cognome;
}
public void setCognome(String cognome){
this.cognome = cognome;}
public void inserisci(){
Scanner in=new Scanner(System.in);
System.out.println("nome=");
nome=in.next();
System.out.println("Cognome=");
cognome=in.next();
}
}
Qualsiasi consiglio è utile