Progetto Calcolatrice in Java
Descrizione del Progetto
In questo progetto, creerai una calcolatrice in Java utilizzando Swing per l’interfaccia grafica. La calcolatrice sarà in grado di eseguire le operazioni base: addizione, sottrazione, moltiplicazione e divisione.
Requisiti
- Librerie Java: Utilizzare le librerie standard di Java.
- Interfaccia Utente: Creare un’interfaccia grafica utilizzando Swing.
- Funzionalità della Calcolatrice:
- Eseguire le operazioni di base: addizione, sottrazione, moltiplicazione e divisione.
- Visualizzare il risultato sul display della calcolatrice.
- Gestione degli Errori: Gestire divisioni per zero e altri possibili errori.
Struttura del Progetto
calcolatrice/
├── src/
│ ├── Main.java
│ └── Calcolatrice.java
└── README.md
Codice di Esempio
Main.java: Questo file contiene il punto di ingresso dell’applicazione.
public class Main {
public static void main(String[] args) {
Calcolatrice calcolatrice = new Calcolatrice();
calcolatrice.setVisible(true);
}
}
Calcolatrice.java: Questo file contiene l’implementazione della calcolatrice.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calcolatrice extends JFrame {
private JTextField display;
private double primoNumero;
private double secondoNumero;
private String operazione;
public Calcolatrice() {
setTitle("Calcolatrice");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new BorderLayout());
display = new JTextField();
display.setFont(new Font("Arial", Font.PLAIN, 24));
display.setHorizontalAlignment(JTextField.RIGHT);
display.setEditable(false);
add(display, BorderLayout.NORTH);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));
String[] buttonLabels = {
"7", "8", "9", "/",
"4", "5", "6", "*",
"1", "2", "3", "-",
"0", "C", "=", "+"
};
for (String label : buttonLabels) {
JButton button = new JButton(label);
button.setFont(new Font("Arial", Font.PLAIN, 24));
button.addActionListener(new ButtonClickListener());
panel.add(button);
}
add(panel, BorderLayout.CENTER);
}
private class ButtonClickListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
switch (command) {
case "C":
display.setText("");
primoNumero = 0;
secondoNumero = 0;
operazione = "";
break;
case "=":
secondoNumero = Double.parseDouble(display.getText());
double risultato = 0;
switch (operazione) {
case "+":
risultato = primoNumero + secondoNumero;
break;
case "-":
risultato = primoNumero - secondoNumero;
break;
case "*":
risultato = primoNumero * secondoNumero;
break;
case "/":
if (secondoNumero != 0) {
risultato = primoNumero / secondoNumero;
} else {
JOptionPane.showMessageDialog(null, "Errore: Divisione per zero");
}
break;
}
display.setText(String.valueOf(risultato));
break;
case "+":
case "-":
case "*":
case "/":
primoNumero = Double.parseDouble(display.getText());
operazione = command;
display.setText("");
break;
default:
display.setText(display.getText() + command);
break;
}
}
}
}
Istruzioni per l’Esecuzione
-
Compilare il Progetto:
javac src/Main.java src/Calcolatrice.java -d out -
Eseguire l’Applicazione:
java -cp out Main
Estensioni Possibili
- Funzionalità Avanzate: Aggiungere funzionalità come il calcolo delle radici quadrate, potenze, ecc.
- Storico delle Operazioni: Implementare una funzionalità per tenere traccia delle operazioni eseguite.
- Tema Personalizzabile: Permettere agli utenti di cambiare il tema della calcolatrice (colori, font, ecc.).