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:
- Stampare l'array.
- Cambiare l'array per uno nuovo.
- Calcolare e stampare la media degli elementi dell'array.
- Calcolare e stampare la somma degli elementi dell'array.
- 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:
- Si cerca il minimo elemento nell'array non ordinato.
- Si scambia il minimo elemento trovato con il primo elemento dell'array non ordinato.
- 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:
- Si percorre l'array da sinistra a destra, confrontando ogni coppia di elementi adiacenti.
- Se gli elementi sono nell'ordine sbagliato, si scambiano.
- 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:
- Aggiungere studenti alla lista (nome e età).
- Visualizzare l'elenco degli studenti.
- Calcolare e visualizzare l'età media degli studenti.
- Trovare e visualizzare lo studente più giovane.
- Uscire dal programma.
Requisiti:
- Utilizza array per memorizzare i nomi e le età degli studenti.
- Implementa un menu per consentire all'utente di scegliere l'operazione da eseguire.
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:
- Inserire una serie di temperature (in gradi Celsius).
- Visualizzare tutte le temperature inserite.
- Calcolare e visualizzare la temperatura media.
- Trovare e visualizzare la temperatura massima e minima.
- Ordinare le temperature in ordine crescente utilizzando il Bubble Sort.
- Uscire dal programma.
Requisiti:
- Utilizza array per memorizzare le temperature.
- Implementa un menu per consentire all'utente di scegliere l'operazione da eseguire.
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:
- Inserire una serie di numeri interi.
- Visualizzare tutti i numeri inseriti.
- Calcolare e visualizzare la somma dei numeri.
- Calcolare e visualizzare la media dei numeri.
- Trovare e visualizzare il numero massimo e minimo.
- Ordinare i numeri in ordine decrescente utilizzando il Selection Sort.
- Uscire dal programma.
Requisiti:
- Utilizza array per memorizzare i numeri.
- Implementa un menu per consentire all'utente di scegliere l'operazione da eseguire.
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:
- Aggiungere prodotti alla lista (nome e prezzo).
- Visualizzare l'elenco dei prodotti.
- Calcolare e visualizzare il prezzo medio dei prodotti.
- Trovare e visualizzare il prodotto più costoso e quello meno costoso.
- Ordinare i prodotti in ordine crescente di prezzo utilizzando il Bubble Sort.
- Uscire dal programma.
Requisiti:
- Utilizza array per memorizzare i nomi e i prezzi dei prodotti.
- Implementa un menu per consentire all'utente di scegliere l'operazione da eseguire.
Esercizio 5: Registro delle Presenze
Consegna: Scrivi un programma Java che permetta di gestire un registro delle presenze. Il programma deve consentire di:
- Registrare la presenza degli studenti (nome e stato: presente o assente).
- Visualizzare l'elenco delle presenze.
- Calcolare e visualizzare la percentuale di presenze.
- Visualizzare l'elenco degli studenti assenti.
- Uscire dal programma.
Requisiti:
- Utilizza array per memorizzare i nomi e lo stato di presenza degli studenti.
- Implementa un menu per consentire all'utente di scegliere l'operazione da eseguire.