Esercizi sulla classe ArrayList in Java
Qui trovi un insieme di esercizi che ti permetteranno di metterti alla prova con la classe ArrayList in Java.
Esercizio 1: ArrayList con oggetti di tipo Opera
Realizzare la classe Opera con attributi: nome, artista e annoCreazione. Implementare il costruttore parametrizzato, getter, setters, toString.
Nel metodo main:
creare un ArrayList di tipo Opera;
Aggiungere le seguenti opere, in maniera hard coded, tramite il costruttore parametrizzato ed usando il metodo add:
La Nascita di Venere – Sandro Botticelli - 1485
Notte stellata – Vincent van Gogh - 1889
Guernica – Pablo Picasso - 1937
L'Ultima Cena – Leonardo da Vinci - 1495
Il Giudizio Universale – Michelangelo Buonarroti - 1536
Visualizzare tutte le opere presenti nell'ArrayList
Modificare L'Ultima Cena in questo modo: L'ultima cena – Leonardo Da Vinci - 1495
Eliminare Guernica
Eliminare L'ultima cena
Visualizzare tutte le opere presenti nell'ArrayList
l'output dovrebbe essere il seguente:
La Nascita di Venere – Sandro Botticelli - 1485
Notte stellata – Vincent van Gogh - 1889
Il Giudizio Universale – Michelangelo Buonarroti - 1536
Esercizio 2: CRUD con ArrayList di tipo Pianta
Realizzare la classe Pianta con attributi: nome, interno e provenienza. L'attributo interno è di tipo booleano ed indica se la pianta è da interno o da esterno. L'attributo provenienza è una stringa che rappresenta il posto di dove la pianta è originaria.
Nella classe Pianta implementare il costruttore di default, getter, setters, toString e inserisciDati.
Nel metodo main:
creare un ArrayList di tipo Pianta;
Creare un menù iterativo in cui l'utente possa scegliere tra le seguenti opzioni:
0 - uscire dal programma
1 - inserire una pianta
2 - visualizzare le piante nel vivaio
3 - modificare una pianta
4 - eliminare una pianta
5 - verificare se esiste una determinata pianta.
Per vedere se esiste una determinata pianta si può usare il metodo contains(oggetto) che verifica se un elemento è presente nell'ArrayList.
Esercizio 3: la media di numeri interi
Realizzare un programma in grado di chiedere all'utente di inserire dei numeri interi positivi. Il programma salva i numeri all'interno di un ArrayList di Integer. L'inserimento dei numeri termina quando l'utente inserisce un numero negativo o lo zero.
Infine, il programma mostra a schermo i valori inseriti e ne calcola la media.
Esercizio 4: il valore più grande
Realizzare un programma in grado di chiedere all'utente di inserire dei numeri interi. Il programma salva i numeri all'interno di un ArrayList di Integer. Dopo aver fatto inserire all'utente un numero, chiedere se vuole effettuare un altro inserimento oppure no, consentendogli di inserire quanti valori vuole all'interno dell'ArrayList.
Infine, il programma mostra a schermo i valori inseriti e ne calcola il minimo ed il massimo.
Esercizio 5: Esercizio per confrontare i vettori di oggetti e gli ArrayList
Realizzare la classe Arma che ha come attributi nome (String) e numeroUtilizzi (intero positivo).
Realizzare la classe MainArma in grado di:
creare un vettore di tipo Arma grande n;
stampare a schermo le armi create.
Realizzare la classe Incantesimo che ha come attributi nome (String) ed efficacia (int).
Realizzare la classe MainIncantesimo in grado di:
creare un ArrayList di tipo Incantesimo;
permettere di aggiungere incantesimi fino a quando l'utente decide di fermarsi;
stampare a schermo gli Incantesimi creati.
Realizzare la classe Personaggio che ha come attributi nome (String), un vettore di oggetti di tipo Arma grande 4 (perché il personaggio non può portare con sé più di 4 armi) ed un ArrayList di tipo Incantesimo (in quanto un personaggio può conoscere un indefinito numero di incantesimi). Prevedere nella classe Personaggio i seguenti metodi:
Metodo che calcola la somma del numero di utilizzi delle armi possedute dal personaggio;
Metodo che calcola la media dell'efficacia degli incantesimi conosciuti dal personaggio;
Metodo che calcola quante armi hanno ancora un numero di utilizzi maggiore di 10;
Metodo che stampa a schermo i nomi degli incantesimi conosciuti dal personaggio con efficacia maggiore
Metodo che prende come parametro il nome di un incantesimo e restituisce true se tale incantesimo è tra quelli conosciuti dal Personaggio.