Vettore di oggetti
Qui trovi un insieme di esercizi che ti permetteranno di metterti alla prova con la creazione di classi aventi come attributo un vettore di oggetti.
Esercizi sulla progettazione di classi contenenti un vettore di oggetti
Esercizio 1: Social network
Si vuole gestire le statistiche di diversi social network.
Di ogni social si vuole tenere traccia di:
nome;
una breve descrizione;
l'anno in cui è stato fondato;
l'insieme degli account registrati.
Per ogni account si intendono memorizzare le informazioni di:
nickname;
numero di post pubblicati;
numero di follower;
numero di seguiti.
In tali social si è considerati influencer nel momento in cui si hanno più di dieci mila follower e si è considerati content creator se si sono pubblicati più di 1000 post.
Realizzare un'applicazione che sia in grado di creare un oggetto di tipo social network e per tale social sia in grado di indicare:
Il numero di influencer presenti nel social;
Il numero medio di post creato dagli utenti;
Il nome dell'account che ha più follower ed indicarne il numero.
** Sfida 1: Creare un metodo in grado di ordinare gli elementi del vettore in ordine decrescente sulla base del numero di follower.
** Sfida 2: Creare un metodo che preveda come parametro un nickname e restituisca true se è presente un account con tale nickname, false altrimenti.
Esercizio 2: Gelateria
Una famosa catena di gelaterie presenti sul territorio nazionale vuole monitorare i ricavi delle diverse sedi. Si progetti e realizzi un'applicazione in java che sia in grado di:
calcolare e restituire la somma dei ricavi ottenuti dalle vendite dai diversi gelati (cono/coppetta piccolo, cono/coppetta medio... );
comunicare qual è la tipologia di gelato più richiesta dai clienti di una gelateria della catena;
metta infine a confronto due gelaterie comunicando quale delle due ha avuto il maggiore ricavo dalle vendite e, in assoluto, quale tipologia di gelato è la più venduta.
Esercizio 3: Casa discografica
Una famosa casa discografica vuole poter memorizzare le informazioni degli album prodotti. In particolare per un album si è interessati a conoscere l'insieme di canzoni che ne fanno parte. Si progetti e realizzi un'applicazione in java che sia in grado di:
creare un album;
indicare la durata media delle canzoni presenti nell'album;
indicare quante canzoni nell'album superano i 3 minuti di durata.
indicare se nell'album è presente almeno una canzone che appartenga ad un genere specifico scelto dall'utente;
indicare quale sia la canzone dell'album con durata massima;
ordinare le canzoni nell'album sulla base dell'ordinamento alfabetico.
Suggerimento: per confrontare due stringhe in java si usa il metodo compareTo(). Si riporta un esempio di un codice che usa il metodo compareTo.
Esercizio 4: Piattaforma Streaming
Si intende progettare un'applicazione per gestire i telefilm. In particolare, di ogni telefilm si intende memorizzare:
Il nome del telefilm;
Il genere del telefilm;
Se la produzione del telefilm è in corso oppure è terminata;
L'insieme delle stagioni da cui è composto.
Per ogni stagione si è interessati a tenere traccia delle seguenti informazioni:
numero di episodi;
nome dello sceneggiatore;
la trama;
numero della stagione (se è la prima il numero è 1, se è la seconda il numero è 2...).
Creare un'applicazione in java contenente i seguenti file:
"Stagione.java" contenente:
(a) Gli attributi specificati nel testo, il costruttore di default, il costruttore parametrizzato, i metodi get e set, il metodo toString;
(b) Il metodo inserisciDati che consente di inserire da tastiera tutti i valori da attribuire agli attributi di una stagione.
2."Telefilm.java" contenente:
(a) Gli attributi specificati nel testo, il costruttore di default, il costruttore parametrizzato, i metodi get e set, il metodo toString;
(b) Il metodo inserisciDati che consente di inserire da tastiera tutti i valori da attribuire agli attributi di un telefilm;
(c) Un metodo in grado di calcolare il numero medio di puntate presenti nel telefilm per ogni stagione;
(d) Un metodo che preso come parametro il nome di uno sceneggiatore ritorna true se tale sceneggiatore è presente in almeno una stagione del telefilm, altrimenti ritorna false.
(e) ** Un metodo che ordina il vettore delle stagioni in base al numero della stagione, dalla prima all'ultima.
3. "MainTelefilm.java" in grado di:
(a) Creare un telefilm con input gestito da tastiera;
(b) Mostrare a schermo il telefilm creato;
(c) Indicare il numero medio di puntate presenti nel telefilm per ogni stagione;
(d) Verificare se "Luca Galli" è stato sceneggiatore di almeno una stagione del telefilm creato;
(e) ** Ordinare il vettore e mostrare nuovamente a schermo il telefilm.