🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Classi Java

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi delle classi e programmazione ad oggetti in Java.

Esercizio 1

Creare una classe Persona con campi nome e cognome:
public class Persona {
    private String nome;
    private String cognome;

    public Persona(String nome, String cognome) {
        this.nome = nome;
        this.cognome = cognome;
    }

    public void saluta() {
        System.out.println("Ciao, sono " + nome + " " + cognome);
    }
}

public static void main(String[] args) {
    Persona persona = new Persona("Mario", "Rossi");
    persona.saluta();
}

Esercizio 2

Creare una classe Auto con campi marca e modello:
public class Auto {
    private String marca;
    private String modello;

    public Auto(String marca, String modello) {
        this.marca = marca;
        this.modello = modello;
    }

    public void mostraDettagli() {
        System.out.println("Marca: " + marca);
        System.out.println("Modello: " + modello);
    }
}

public static void main(String[] args) {
    Auto auto = new Auto("Fiat", "Punto");
    auto.mostraDettagli();
}

Esercizio 3

Creare una classe Calcolatrice con metodi per le operazioni matematiche:
public class Calcolatrice {
    public int somma(int a, int b) {
        return a + b;
    }

    public int sottrazione(int a, int b) {
        return a - b;
    }

    public int moltiplicazione(int a, int b) {
        return a * b;
    }

    public double divisione(double a, double b) {
        return a / b;
    }
}

public static void main(String[] args) {
    Calcolatrice calcolatrice = new Calcolatrice();

    int somma = calcolatrice.somma(5, 3);
    int sottrazione = calcolatrice.sottrazione(5, 3);
    int moltiplicazione = calcolatrice.moltiplicazione(5, 3);
    double divisione = calcolatrice.divisione(5.0, 3.0);

    System.out.println("Somma: " + somma);
    System.out.println("Sottrazione: " + sottrazione);
    System.out.println("Moltiplicazione: " + moltiplicazione);
    System.out.println("Divisione: " + divisione);
}

Esercizio 4

Creare una classe Libro con campi titolo, autore e anno di pubblicazione:
public class Libro {
    private String titolo;
    private String autore;
    private int annoPubblicazione;

    public Libro(String titolo, String autore, int annoPubblicazione) {
        this.titolo = titolo;
        this.autore = autore;
        this.annoPubblicazione = annoPubblicazione;
    }

    public void mostraDettagli() {
        System.out.println("Titolo: " + titolo);
        System.out.println("Autore: " + autore);
        System.out.println("Anno di pubblicazione: " + annoPubblicazione);
    }
}

public static void main(String[] args) {
    Libro libro = new Libro("Il Signore degli Anelli", "J.R.R. Tolkien", 1954);
    libro.mostraDettagli();
}

Esercizio 5

Creare una classe Cerchio con un campo raggio e metodi per calcolare l'area e la circonferenza:
public class Cerchio {
    private double raggio;

    public Cerchio(double raggio) {
        this.raggio = raggio;
    }

    public double calcolaArea() {
        return Math.PI * Math.pow(raggio, 2);
    }

    public double calcolaCirconferenza() {
        return 2 * Math.PI * raggio;
    }
}

public static void main(String[] args) {
    Cerchio cerchio = new Cerchio(5.0);

    double area = cerchio.calcolaArea();
    double circonferenza = cerchio.calcolaCirconferenza();

    System.out.println("Area: " + area);
    System.out.println("Circonferenza: " + circonferenza);
}

Esercizio 6

Creare una classe Studente con campi nome, cognome e matricola:
public class Studente {
    private String nome;
    private String cognome;
    private int matricola;

    public Studente(String nome, String cognome, int matricola) {
        this.nome = nome;
        this.cognome = cognome;
        this.matricola = matricola;
    }

    public void mostraDettagli() {
        System.out.println("Nome: " + nome);
        System.out.println("Cognome: " + cognome);
        System.out.println("Matricola: " + matricola);
    }
}

public static void main(String[] args) {
    Studente studente = new Studente("Mario", "Rossi", 12345);
    studente.mostraDettagli();
}

Esercizio 7

Creare una classe Contatore con un campo valore e metodi per incrementare e decrementare il valore:
public class Contatore {
    private int valore;

    public Contatore() {
        valore = 0;
    }

    public void incrementa() {
        valore++;
    }

    public void decrementa() {
        valore--;
    }

    public int getValore() {
        return valore;
    }
}

public static void main(String[] args) {
    Contatore contatore = new Contatore();

    contatore.incrementa();
    contatore.incrementa();
    contatore.decrementa();

    int valore = contatore.getValore();

    System.out.println("Valore: " + valore);
}

Esercizio 8

Creare una classe Calendario con metodi per determinare se un anno è bisestile e per ottenere il numero di giorni in un mese:
public class Calendario {
    public boolean isAnnoBisestile(int anno) {
        return (anno % 4 == 0 && anno % 100 != 0) || (anno % 400 == 0);
    }

    public int getNumeroGiorniMese(int mese, int anno) {
        switch (mese) {
            case 1: // Gennaio
            case 3: // Marzo
            case 5: // Maggio
            case 7: // Luglio
            case 8: // Agosto
            case 10: // Ottobre
            case 12: // Dicembre
                return 31;
            case 4: // Aprile
            case 6: // Giugno
            case 9: // Settembre
            case 11: // Novembre
                return 30;
            case 2: // Febbraio
                return isAnnoBisestile(anno) ? 29 : 28;
            default:
                return -1; // Mese non valido
        }
    }
}

public static void main(String[] args) {
    Calendario calendario = new Calendario();

    int anno = 2023;
    int mese = 2;

    boolean isBisestile = calendario.isAnnoBisestile(anno);
    int numeroGiorniMese = calendario.getNumeroGiorniMese(mese, anno);

    System.out.println("L'anno " + anno + " è bisestile? " + isBisestile);
    System.out.println("Numero di giorni nel mese " + mese + ": " + numeroGiorniMese);
}

Esercizio 9

Creare una classe Prodotto con campi nome, prezzo e disponibilitĂ :
public class Prodotto {
    private String nome;
    private double prezzo;
    private boolean disponibile;

    public Prodotto(String nome, double prezzo, boolean disponibile) {
        this.nome = nome;
        this.prezzo = prezzo;
        this.disponibile = disponibile;
    }

    public void mostraDettagli() {
        System.out.println("Nome: " + nome);
        System.out.println("Prezzo: " + prezzo);
        System.out.println("Disponibile: " + (disponibile ? "Sì" : "No"));
    }
}

public static void main(String[] args) {
    Prodotto prodotto = new Prodotto("iPhone", 999.99, true);
    prodotto.mostraDettagli();
}

Esercizio 10

Creare una classe Banca con un campo saldo e metodi per depositare e prelevare denaro:
public class Banca {
    private double saldo;

    public Banca() {
        saldo = 0;
    }

    public void deposita(double importo) {
        saldo += importo;
    }

    public void preleva(double importo) {
        if (saldo >= importo) {
            saldo -= importo;
        } else {
            System.out.println("Saldo insufficiente.");
        }
    }

    public double getSaldo() {
        return saldo;
    }
}

public static void main(String[] args) {
    Banca banca = new Banca();

    banca.deposita(1000.0);
    banca.preleva(500.0);

    double saldo = banca.getSaldo();

    System.out.println("Saldo: " + saldo);
}