Progetto Calcolatrice in Java
Codegrind Team•Jul 12 2024
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.).