Prova di Programmazione

Fondamenti di Informatica
Corso di Laurea in Ingegneria Informatica

Prova al calcolatore


Si vuole realizzare un programma per la gestione di una centrale che gestisce chiamate per i Taxi. Per ogni Taxi è necessario rappresentare le seguenti informazioni: il nome del taxi , la zona in cui il taxi si trova, se il taxi al momento risulta libero o occupato.

Parte 1.

Scrivere una classe Taxi per rappresentare le informazioni relative a ciascun Taxi con la seguente interfaccia:
-Taxi(String nome): Costruttore con un argomento che inizializza il nome del Taxi con il valore della stringa "nome";
-Taxi(String nome,String zona,boolean libero): Costruttore con tre argomenti che inizializza il nome del Taxi conil valore della stringa "nome", la zona in cui il tazi si trova con il valore della stringa "zona", ed il campo che determina se il taxi è libero o occupato al valore della variabile booleana "libero";
-String getnome(): restituisce la stringa che rappresenta il nome del Taxi.
-String getzona(): restituisce la stringa che rappresenta la zona in cui il taxi opera.
-boolean getlibero(): restituisce true se il Taxi è libero false altrimenti.
-void setzona(String zona): aggiorna il valore della zona con il valore della stringa "zona".
-void setlibero(boolean libero): aggiorna il valore del campo libero con il valore della variabile booleana "libero".
-boolean Uguale(Taxi t): restituisce true se il Taxi su cui il metodo viene invocato e' uguale al Taxi "t" passato come parametro. Due Taxi si considerano uguali se hanno lo stesso nome la stessa zona e se il campo libero ha lo stesso valore.

Programma di esempio: ProvaTaxi.java

Soluzione

Parte 2.

Viene fornita una classe ReadTaxi che mette a disposizione un metodo Taxi[] leggi(String) che legge da un file (Taxi1.dat) avente il nome passato come argomento un insieme di record rappresentanti oggetti della classe Taxi, e ritorna un array di Taxi opportunamente istanziato.


Programma di esempio: ProvaUtilityTaxi1.java

Soluzione