Test Su Classi

1. Si definisca una classe UfficioPostale contenente informazioni su un insieme di
lettere da spedire, memorizzate in un array di dimensione massima 1000. Per la classe
UfficioPostale definire i seguenti metodi:
1) aggiungiLettera: data una lettera, inserisce la lettera nella prima
locazione libera dell’array di lettere (suggerimento: in coda all’array)
2) getProssimaLettera: restituisce ed estrae la prima lettera da consegnare
aggiornando opportunamente l’archivio delle lettere (N.B.: la prima lettera da
consegnare è quella in prima posizione, l’ordine originale delle consegne deve
essere mantenuto)
3) contaLetterePerDestinatario: data una persona, restituisce il numero
di lettere destinate a quella persona (l’array delle lettere NON viene modificato
dal metodo)
Si scriva infine una classe applicazione che:
1) chieda all’utente le informazioni necessarie per spedire un certo numero di
lettere tramite l’Ufficio Postale e proceda all’inserimento nell’array
2) al termine dell’inserimento delle lettere, richieda il prelevamento della prima
lettera da consegnare e ne visualizzi i dati di spedizione
3) chieda all’utente i dati di un destinatario per il quale conoscere il numero di
lettere che gli sono destinate, stampando a video tale numero

2. Creare una classe ContoCorrente in grado di simulare un conto corrente reale, quindi con versamenti, prelievi, stampa saldo e dammi la lista degli ultimi 5 movimenti. Per gli ultimi 5 movimenti, salvare anche il saldo nel momento in cui il movimento viene eseguito. Ad esempio se si fa un versamento di 5000 euro e il saldo è 300. Il nuovo saldo sarà 5300 euro. La classe dovrà memorizzare l’informazione che sono stati versati 5000 euro e che il saldo era, prima di eseguire l’operazione, di 300 euro

3.

  • Una classe astratta Persona definisce una generica persona (con attributo nome per il nome, ed anno per l’anno di nascita ), il metodo costruttore per la classe, e il metodo astratto:

public abstract String whoAmI();

 

  • Si definisca la sottoclasse Studente che deriva da Persona e che aggiunge un attributo intero matricola per indicare la matricola dello studente. Nella sottoclasse Studente, si definisca un metodo costruttore a tre argomenti (nome, anno nascita e matricola) e si definisca il metodo whoAmI()in modo da restituire la concatenazione del nome, dell’anno di nascita e della matricola come stringa.

 

  • Si realizzi un metodo main in una classe Prova che crei due oggetti anna e mario istanza di Studente, il primo oggetto con  attributi “Anna”, 1997, 12345 e il secondo oggetto  con attributi “Mario”, 1997, 13344.

 

  • Chiamando il metodo whoAmI() sui due oggetti  anna e mario stampi sul file di uscita output.txt le stringhe risultanti.

4. Definire una classe Date che rappresenti oggetti di tipo data (giorno, mese e anno di tipo
intero) indicandone il costruttore con i rispettivi parametri.
La classe Date deve presentare inoltre i due metodi seguenti:
1) equals: restituisce un boolean che indica al programma chiamante se la data
corrente coincide con una data fornita in ingresso come parametro.
2) toString: restituisce la stringa corrispondente alla data corrente, nel formato
gg/mm/aaaa.

5.

  • Classe che simula il comportamento di una coda (ossia il primo numero inserito sarà il primo numero che uscirà) di interi di max 5 elementi. Avremo quindi due metodi: put che inserisce un numero e get che lo estrae.

6. Classe universita con nome, sede (citta, indirizzo), insieme di studenti, insieme di corsi tenuti in essa, insieme di docenti. Progettare i seguenti metodi: costruttore che valorizza nome e sede; metodo aggiungi studente; metodo aggiungi corso; aggiungi docente; aggiungi frequenza di un corso da parte di uno studente; aggiungi docente ad un corso; metodo che restituisce il nome dell università; dato uno studente in ingresso verificare se appartiene a questa università; dato un corso in input verificare se è tenuto in quella università; numero di studenti che hanno seguito un determinato corso.

7. Si definisca una gerarchia di classi per rappresentare le case vendute da una agenzia immobiliare.

  • Le case possono essere di due tipi: Appartamenti e Ville.
  • Per ogni casa si rappresenti: la superficie ed il numero di stanze.
    • Inoltre per gli appartamenti si rappresenti il codice energetico (un intero).
    • Per le ville si rappresenti il fatto che abbiano o no una piscina.
  • Entrambe le classi contengono un metodo che restituisce il costo della casa.
    • Per gli appartamenti il costo è il prodotto fra la superficie e 1500, più il prodotto fra il numero delle stanze ed il codice energetico.
    • Per le ville il costo è il prodotto fra la superficie e 2000, più 20000 se c’è la piscina, più 10000 se ci sono almeno 10 stanze.
  • Si definisca una classe Archivio che contiene come campo in cui sia possibile inserire sia appartamenti che ville.
  • Si definisca infine un metodo della classe Archivio che, dato un parametro n, restituisce la media dei costi di tutte le case presenti nel campo la cui superficie supera n.

8.

  • Progettare una classe che rappresenta una automobile. Ogni automobile è caratterizzata da un: consumo di carburante (litri/chilometro), quantità di carburante presente nel serbatoio. Il consumo è indicato specificatamente nel costruttore. Inizialmente il serbatoio è vuoto. I metodi della classe sono: metodo drive per simulare il percorso di un’automobile per una certa distanza, riducendo di conseguenza il livello di carburante nel suo serbatoio; metodo dammiCarburante che ritorna il livello del carburante; metodo faiRifornimento, per fare rifornimento. Il metodo drive non può essere invocato per una distanza maggiore di quella percorribile con il carburante disponibile.

9. Realizzare un programma java che prende in input da console le informazioni su un libro :

  • CODICE ISBN. Controllare che sia univoco
  • Titolo del libro
  • Autore
  • Numero delle pagine . controllare che sia un numero
  • Controllare che sia un numero
  • Collocazione fisica. Controllare che sia univoco e che inizi per A

Il programma deve prevedere le operazioni di

  • Inserimento
  • Ricerca per codice ISBN
  • Ricerca per collocazione fisica
  • Aggiornamento della collocazione fisica. Controllare che sia univoca
  • Implementare l’ovveride del metodo equals per i confronti
  • Visualizzazione di tutti i libri
  • Visualizzazione di tutti i libri paginato. L’utente deve vedere 10 libri per volta e andare avanti e indietro per vedere i prossimi 10 (se presenti) o precedenti 10 (se presenti)

Il programma deve salvare le informazioni su un file CSV e deve ricaricare i libri salvati al riavvio dell’applicazione

10. Definire una classe Trasloco che rappresenti oggetti di tipo trasloco per alcuni clienti in
determinate date. Gli oggetti della classe Trasloco contengono informazioni sul codice
(intero) del cliente, sul nome e il cognome del cliente, e sulla data di svolgimento del trasloco
(di tipo Date).
Indicare per la classe Trasloco un costruttore con parametri e i seguenti metodi di
accesso alle informazioni degli oggetti:
1) getCodiceCliente: restituisce il codice del cliente
2) getNomeCliente: restituisce il nome del cliente
3) getCognomeCliente: restituisce il cognome del cliente
4) getDataTrasloco: restituisce la data di svolgimento del trasloco


Question 1 of 10

(Visited 223 times, 1 visits today)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *