Package it.unimi.di.prog2.h13
Class PortafoglioAzionario
java.lang.Object
it.unimi.di.prog2.h13.PortafoglioAzionario
Classe che rappresenta un portafoglio azionario.
Questa specificazione (e conseguente implementazione) ha molti difetti, tra cui:
- le azioni hanno prezzo immutabile;
- si possono creare azioni della medesima società con prezzo diverso;
- non c'è modo di controllare il numero totale di azioni in circolazione per una data società;
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final record
Rappresenta una azione di una società. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
aggiungi
(PortafoglioAzionario.Azione azione, int numero) Aggiunge l'assegnato numero di azioni al portafoglio.private int
Cerca una azione per nome della società.int
Restituisce il numero di azioni di una società nel portafoglio.void
rimuovi
(PortafoglioAzionario.Azione azione, int numero) Rimuove l'assegnato numero di azioni al portafoglio.void
Rimuove l'assegnato numero di azioni della data società al portafoglio.toString()
int
valore()
Restituisce il valore totale del portafoglio.
-
Field Details
-
azione
Elenco di azioni nel portafoglio, per i vincoli vedi AF/IR. -
quantità
Elenco della quantità di azioni nel portafoglio, per i vincoli vedi AF/IR.
-
-
Constructor Details
-
PortafoglioAzionario
public PortafoglioAzionario()Costruisce un portafoglio vuoto.
-
-
Method Details
-
aggiungi
public void aggiungi(PortafoglioAzionario.Azione azione, int numero) throws IllegalArgumentException Aggiunge l'assegnato numero di azioni al portafoglio.- Parameters:
azione
- una azione.numero
- quante azioni aggiungere.- Throws:
IllegalArgumentException
- se numero è minore o uguale a 0.NullPointerException
- se azione è null.
-
azione
Cerca una azione per nome della società.- Parameters:
società
- il nome della società.- Returns:
- l'indice della azione in
azione
, -1 se non presente.
-
rimuovi
public void rimuovi(PortafoglioAzionario.Azione azione, int numero) throws IllegalArgumentException, NoSuchElementException Rimuove l'assegnato numero di azioni al portafoglio.- Parameters:
azione
- una azione.numero
- quante azioni rimuovere.- Throws:
IllegalArgumentException
- se numero è minore o uguale a 0.NoSuchElementException
- se il portafoglio non contiene abbastanza azioni.NullPointerException
- se azione è null.
-
rimuovi
public void rimuovi(String società, int numero) throws IllegalArgumentException, NoSuchElementException Rimuove l'assegnato numero di azioni della data società al portafoglio.- Parameters:
società
- il nome della società.numero
- quante azioni rimuovere.- Throws:
IllegalArgumentException
- se numero è minore o uguale a 0.NoSuchElementException
- se il portafoglio non contiene abbastanza azioni.NullPointerException
- se società è null.
-
quante
Restituisce il numero di azioni di una società nel portafoglio.- Parameters:
società
- il nome della società.- Returns:
- il numero di azioni della società, 0 se non presenti.
- Throws:
NullPointerException
- se società è null.
-
valore
public int valore()Restituisce il valore totale del portafoglio.- Returns:
- il valore totale del portafoglio.
-
toString
-