📢 Nuovo Corso Laravel API disponibile!

Esercizi Classi Java

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);
}