Attributi e metodi statici

Qui trovi un insieme di esercizi che ti permetteranno di metterti alla prova con la creazione di attributi e metodi statici di una classe.
Realizza la tua soluzione e poi confronta la tua soluzione con quella proposta dal professore. 

Esercizi sulla progettazione degli attributi e dei metodi static in Java

Esercizio 1: Gara di corsa

Si vuole realizzare un'applicazione per un nuovo evento di corsa da proporre nel proprio quartiere, che deve tenere traccia delle diverse tipologie di gare a cui gli atleti potranno iscriversi.  

In particolare, ogni singola Gara è caratterizzata dal proprio nome, dalla lunghezza espressa in km e dalla durata massima entro la quale terminare la corsa. 

Invece, tutte le gare condividono alcune caratteristiche, infatti a prescindere dalla singola gara è previsto che gli atleti:

Per la classe Gara prevedere anche:

Inoltre, tale applicazione deve poter calcolare il consumo di calorie di un atleta sapendo che "a qualunque livello venga praticata, la corsa consente di bruciare 900cal per kg di peso corporeo al chilometro. In altri termini un soggetto di 100kg consuma circa 90000cal ogni chilometro percorso. Il consumo calorico della camminata è invece inferiore, pari a circa 500cal per kg per km" (fonte qui). 

Per poter fare ciò si realizzi un metodo static che calcoli il numero di calorie bruciate partendo dai seguenti dati: il peso (kg), la lunghezza del percorso (km) ed il tipo di attività corsa/camminata.

Nel metodo main effettuare le seguenti istruzioni: 

Esercizio 2: Runner e Gara

Ampliare il precedente esercizio permettendo all'applicazione di tenere traccia dei "Runner" che intendono partecipare a tale manifestazione.  In particolare, per ogni runner si vuole tenere traccia del nome, se maschio o femmina, la data di nascita e la gara a cui intende partecipare. 

Per la classe Runner prevedere:

Nel metodo main effettuare le seguenti istruzioni: 

N.B. Il numero di gare create alla fine del programma dovrebbero essere solo le 2 iniziali g1 e g2. 

Esercizio 3: Classe Dipendente

Si realizzi la classe Dipendente di cui si è interessati a tenere traccia del nome, dello stipendio base e dello stipendio extra che riceve in base agli anni di servizio. Per tale classe prevedere:

Si realizzi un metodo main in cui: