Esercizi Base

Esercitazioni

Operazioni Matematiche in Java

Esercizio 1: Operazioni Aritmetiche

Consegna: Scrivi un programma Java che esegua la somma, sottrazione, moltiplicazione e divisione tra due numeri, quindi stampi i risultati con descrizioni appropriate.

Esercizio 2: Calcolo dell'Area del Cerchio

Consegna: Scrivi un programma Java che calcoli l'area di un cerchio dato il raggio. Utilizza la formula area = π * r^2 e stampa il risultato.


Le Variabili in Java

Esercizio 1: Dettagli Personali

Consegna: Scrivi un programma Java che dichiari e inizializzi variabili per nome, età e città di una persona, quindi stampi queste informazioni in un formato leggibile.

Esercizio 2: Calcolo della Media di Tre Numeri

Consegna: Scrivi un programma Java che dichiari e inizializzi tre variabili intere con valori diversi. Calcola la media di questi tre numeri e stampa il risultato.


Funzioni di Input e Output

Esercizio 1: Calcolo della Somma

Consegna: Scrivi un programma Java che legga due numeri interi dall'input dell'utente, calcoli la loro somma e stampi il risultato con una descrizione appropriata.

Esercizio 2: Convertitore di Temperature

Consegna: Scrivi un programma Java che legga una temperatura in gradi Celsius dall'input dell'utente, la converta in gradi Fahrenheit utilizzando la formula F = C * 9/5 + 32, e stampi il risultato.


Le Stringhe

Esercizio 1: Informazioni di Contatto

Consegna: Scrivi un programma Java che riceve in input una variabile stringa contenente un indirizzo email. Stampa la lunghezza dell'indirizzo email e verifica se contiene il carattere '@'.

Esercizio 2: Analisi del Nome Completo

Consegna: Scrivi un programma Java che riceve in input una variabile stringa contenente un nome completo (es. "Mario Rossi"). Utilizza i metodi substring e indexOf per estrarre e stampare il nome e il cognome separatamente.


Le Istruzioni Condizionali in Java

Esercizio 1: Classificazione dell'Età

Consegna: Scrivi un programma Java che dichiari una variabile intera per l'età di una persona. Utilizza istruzioni condizionali per stampare se la persona è un bambino, un adolescente, un adulto o un anziano.

Esercizio 2: Calcolo della Tariffa del Parcheggio

Consegna: Scrivi un programma Java che calcoli la tariffa del parcheggio in base al numero di ore. La tariffa è di 2 euro per la prima ora, 1,5 euro per ogni ora successiva fino a 5 ore, e 1 euro per ogni ora oltre le 5 ore. Usa una combinazione di istruzioni if, else if e else per calcolare e stampare la tariffa totale.


Logica Booleana in Java

Esercizio 1: Verifica Maggiore Età

Consegna: Scrivi un programma Java che utilizzi una variabile booleana per controllare se un'età inserita dall'utente è maggiore o uguale a 18. Stampa un messaggio appropriato.

Esercizio 2: Sistema di Accesso

Consegna: Scrivi un programma Java che chieda all'utente di inserire una password. Verifica se la password inserita è corretta utilizzando una variabile booleana e stampa un messaggio di accesso riuscito o negato.


Cicli ed Iterazioni

Esercizio 1: Calcolo del Fattoriale

Consegna: Scrivi un programma Java che utilizzi un ciclo while per calcolare e stampare il fattoriale di un numero intero positivo inserito dall'utente.

Esercizio 2: Tabelline

Consegna: Scrivi un programma Java che utilizzi un ciclo for per stampare le tabelline dei numeri da 1 a 10


Statement Break & Continue

Esercizio 1: Stampa Numeri fino a Stop

Consegna: Scrivi un programma Java che utilizzi un ciclo for per stampare i numeri da 1 a 10, ma interrompa il ciclo quando il numero è 7.

Esercizio 2: Stampa Numeri Dispari

Consegna: Scrivi un programma Java che utilizzi un ciclo for per stampare i numeri da 1 a 10, ma salti la stampa dei numeri pari utilizzando continue.


Conversione dei Tipi di Dati

Esercizio: Somma di Numeri da Stringhe

Consegna: Scrivi un programma Java che legga due numeri sotto forma di stringhe dall'input dell'utente, li converta in interi, calcoli la loro somma e stampi il risultato.


Formattazione di Stringhe

Esercizio 1: Messaggio di Benvenuto Formattato

Consegna: Scrivi un programma Java che legga un nome e un'età dall'input dell'utente, quindi utilizzi String.format() per formattare un messaggio di benvenuto contenente queste informazioni, e stampi il risultato.

Esercizio 2: Formattazione dei Prezzi

Consegna: Scrivi un programma Java che legga una lista di prezzi dall'input dell'utente, quindi utilizzi System.out.printf() per formattare e stampare ogni prezzo con due cifre decimali.


Gli Array in Java

Esercizio 1: Inizializzazione e Accesso Avanzato

Consegna: Scrivi un programma Java che dichiari, inizializzi e stampi tutti gli elementi di un array di stringhe contenente i giorni della settimana.

Esercizio 2: Calcoli sugli Elementi di un Array

Consegna: Scrivi un programma Java legga in input un array di dimensione chiesta all'utente, e poi effettua i calcoli di media e somma degli elementi dell'array, infine, stampa i risultati


Funzioni in Java

Esercizio 1: Funzione di Saluto Personalizzata

Consegna: Scrivi una funzione Java chiamata saluta che prenda un nome come parametro e stampi "Ciao, [nome]!". Chiamala dal metodo main.

Esercizio: Operazioni su un Array

Consegna: Scrivi un programma Java che chieda all'utente di inserire un array di numeri. Il programma deve poi fornire all'utente un menu con le seguenti opzioni:

  1. Stampare l'array.
  2. Cambiare l'array per uno nuovo.
  3. Calcolare e stampare la media degli elementi dell'array.
  4. Calcolare e stampare la somma degli elementi dell'array.
  5. Uscire dal programma.

Il programma deve continuare a mostrare il menu e permettere all'utente di scegliere un'opzione finché l'utente non decide di uscire.


Le Eccezioni

Esercizio 1: Gestione dell'Errore di Divisione per Zero

Consegna: Scrivi un programma Java che tenti di dividere un numero per zero all'interno di un blocco try-catch e gestisca l'eccezione ArithmeticException stampando un messaggio appropriato.

Esercizio 2: Verifica dell'Età con Eccezione Personalizzata

Consegna: Scrivi una funzione Java chiamata verificaEta che sollevi un'eccezione personalizzata se l'età passata come parametro è minore di 18. Definisci una classe di eccezione personalizzata per questo scopo. Chiamala dal metodo main e gestisci l'eccezione.


Differenza tra Eccezioni Checked ed Unchecked

Esercizio 1: Gestione di un'Eccezione Checked

Consegna: Scrivi un programma Java che tenti di aprire un file inesistente utilizzando un oggetto Scanner e gestisca l'eccezione FileNotFoundException stampando un messaggio appropriato.

Esercizio 2: Gestione di un'Eccezione Unchecked

Consegna: Scrivi un programma Java che tenti di accedere a un indice non valido di un array e gestisca l'eccezione ArrayIndexOutOfBoundsException stampando un messaggio appropriato.

Esercizi: Ordinamento di Array

Esercizio 1: Ordinamento con Selection Sort

Consegna: Scrivi un programma Java che utilizzi l'algoritmo di ordinamento Selection Sort per ordinare un array di numeri interi inseriti dall'utente. Il programma deve chiedere all'utente di inserire la dimensione dell'array e i relativi elementi. Dopodiché, deve ordinare l'array utilizzando il Selection Sort e stampare l'array ordinato.

Descrizione dell'algoritmo Selection Sort:
L'algoritmo Selection Sort ordina un array trovando ripetutamente l'elemento minimo (o massimo) dall'array non ordinato e spostandolo alla posizione corretta nell'array ordinato. Il processo è il seguente:

  1. Si cerca il minimo elemento nell'array non ordinato.
  2. Si scambia il minimo elemento trovato con il primo elemento dell'array non ordinato.
  3. Si ripete il processo per il resto dell'array, spostando il confine tra la parte ordinata e non ordinata dell'array.

Esercizio 2: Ordinamento con Bubble Sort

Consegna: Scrivi un programma Java che utilizzi l'algoritmo di ordinamento Bubble Sort per ordinare un array di numeri interi inseriti dall'utente. Il programma deve chiedere all'utente di inserire la dimensione dell'array e i relativi elementi. Dopodiché, deve ordinare l'array utilizzando il Bubble Sort e stampare l'array ordinato.

Descrizione dell'algoritmo Bubble Sort:
L'algoritmo Bubble Sort ordina un array confrontando ripetutamente coppie di elementi adiacenti e scambiandoli se sono nell'ordine sbagliato. Il processo è il seguente:

  1. Si percorre l'array da sinistra a destra, confrontando ogni coppia di elementi adiacenti.
  2. Se gli elementi sono nell'ordine sbagliato, si scambiano.
  3. Si ripete il processo fino a che l'array è ordinato. Ad ogni iterazione completa, l'elemento più grande tra quelli non ordinati viene spostato alla fine dell'array.

Esercizi Complessi

Esercizio 1: Gestione di una Lista di Studenti

Consegna: Scrivi un programma Java che permetta di gestire una lista di studenti. Il programma deve consentire di:

  1. Aggiungere studenti alla lista (nome e età).
  2. Visualizzare l'elenco degli studenti.
  3. Calcolare e visualizzare l'età media degli studenti.
  4. Trovare e visualizzare lo studente più giovane.
  5. Uscire dal programma.

Requisiti:


Esercizio 2: Analisi di Dati di Temperatura

Consegna: Scrivi un programma Java che permetta di analizzare una serie di dati di temperatura. Il programma deve consentire di:

  1. Inserire una serie di temperature (in gradi Celsius).
  2. Visualizzare tutte le temperature inserite.
  3. Calcolare e visualizzare la temperatura media.
  4. Trovare e visualizzare la temperatura massima e minima.
  5. Ordinare le temperature in ordine crescente utilizzando il Bubble Sort.
  6. Uscire dal programma.

Requisiti:


Esercizio 3: Statistiche su Numeri Interi

Consegna: Scrivi un programma Java che permetta di calcolare statistiche su una serie di numeri interi. Il programma deve consentire di:

  1. Inserire una serie di numeri interi.
  2. Visualizzare tutti i numeri inseriti.
  3. Calcolare e visualizzare la somma dei numeri.
  4. Calcolare e visualizzare la media dei numeri.
  5. Trovare e visualizzare il numero massimo e minimo.
  6. Ordinare i numeri in ordine decrescente utilizzando il Selection Sort.
  7. Uscire dal programma.

Requisiti:


Esercizio 4: Gestione di Prodotti in un Negozio

Consegna: Scrivi un programma Java che permetta di gestire una lista di prodotti in un negozio. Il programma deve consentire di:

  1. Aggiungere prodotti alla lista (nome e prezzo).
  2. Visualizzare l'elenco dei prodotti.
  3. Calcolare e visualizzare il prezzo medio dei prodotti.
  4. Trovare e visualizzare il prodotto più costoso e quello meno costoso.
  5. Ordinare i prodotti in ordine crescente di prezzo utilizzando il Bubble Sort.
  6. Uscire dal programma.

Requisiti:


Esercizio 5: Registro delle Presenze

Consegna: Scrivi un programma Java che permetta di gestire un registro delle presenze. Il programma deve consentire di:

  1. Registrare la presenza degli studenti (nome e stato: presente o assente).
  2. Visualizzare l'elenco delle presenze.
  3. Calcolare e visualizzare la percentuale di presenze.
  4. Visualizzare l'elenco degli studenti assenti.
  5. Uscire dal programma.

Requisiti: