Programmazione
Java
Lezione 3
Overloading dei metodi
• Metodi che hanno lo stesso nome, ma “signature” (firma) diversi
• Cosa entra nella firma
• Il nome del metodo
• L’elenco ordinato dei tipi di dato dei parametri in ingresso (NON i loro nomi)
• NON il tipo di dato in output
Validi
Non validi
Esercizio 1
Crea due metodi con lo stesso nome: convertToCentimeters.
Il primo metodo ha un parametro di tipo int, che rappresenta l'intera altezza in pollici.
Convertirai i pollici in centimetri, in questo metodo, e passerai indietro il numero di centimetri,
come un double.
Il secondo metodo dispone di due parametri di tipo int, uno per rappresentare l'altezza in piedi e
uno per rappresentare l'altezza rimanente in pollici. Quindi, se una persona è alta 5 piedi e 8
pollici, i valori 5 per i piedi e 8 per i pollici verrebbero passati a questo metodo. Questo metodo
convertirà piedi e pollici in soli pollici, quindi chiamerà il primo metodo, per ottenere il numero
di centimetri, restituendo anche il valore come double.
• Entrambi i metodi devono restituire un numero reale per l'altezza totale in centimetri.
• Chiamare entrambi i metodi e stampare i risultati.
• La formula di conversione da pollici a centimetri è 1 pollice = 2,54 cm.
• Inoltre, ricorda che un piede = 12 pollici.
Esercizio 2
In questa sfida, creeremo un metodo, che richiede un tempo, rappresentato in secondi, come parametro.
Vogliamo quindi trasformare i secondi in ore. Successivamente, verrà visualizzata l'ora in ore con i minuti e i
secondi rimanenti in una stringa.
Questa trasformazione verrà eseguita in due passaggi, che consentono di usare metodi con overload.
Vogliamo creare due metodi con lo stesso nome: stringaDurata
Il primo metodo prende un parametro di tipo int, denominato secondi.
• Il secondo metodo ha due parametri, denominati minuti e secondi, entrambi int.
• Entrambi i metodi restituiscono una stringa nel formato:
‘XXh YYm ZZs’
dove XX rappresenta il numero di ore, YY il numero di minuti e ZZ il numero di secondi.
• Il primo metodo dovrebbe a sua volta chiamare il secondo metodo per restituire i risultati.
switch
Traditional Switch Statement vs. Enhanced Switch Statement
Traditional Switch Statement Enhanced Switch Statement
COMPLETE JAVA MASTERCLASS
More switch statement
Esercizio 3
Creare un metodo denominato stampaGiornoDellaSettimana, che accetta un parametro
int denominato giorno, ma non restituisce alcun valore.
Utilizzare l'istruzione switch avanzata per restituire il nome del giorno, in base al
parametro passato all'istruzione switch, in modo che 1 restituisca ”Lunedì", 2 restituisca
”Martedì" e così via. Qualsiasi numero non compreso tra 1 e 7 dovrebbe restituire "Giorno
non valido".
• Utilizzare l'istruzione switch avanzata come espressione, restituendo il risultato a una
stringa denominata giornoDellaSettimana.
• Stampa sia la variabile giorno che la variabile giornoDellaSettimana.