A calculator is a device that performs arithmetic operations on numbers. This is a simple calculator written in the Java programming language. This calculator can do only addition, subtraction, multiplication, and division.
import javax.swing.*;
import java.awt.event.*;
public class Calculator extends JFrame {
private JButton btn0;
private JButton btn1;
private JButton btn2;
private JButton btn3;
private JButton btn4;
private JButton btn5;
private JButton btn6;
private JButton btn7;
private JButton btn8;
private JButton btn9;
private JButton btndivide;
private JButton btndot;
private JButton btnequal;
private JButton btnminus;
private JButton btnmultiply;
private JButton btnplus;
private JButton ntnclear;
private JTextField txtbox;
float num1 = 0;
int count = 0;
float result = 0;
public Calculator()
{
txtbox = new JTextField();
ntnclear = new JButton();
btndivide = new JButton();
btn4 = new JButton();
btnplus = new JButton();
btn9 = new JButton();
btn7 = new JButton();
btn5 = new JButton();
btn6 = new JButton();
btnmultiply = new JButton();
btn1 = new JButton();
btn2 = new JButton();
btn3 = new JButton();
btnminus = new JButton();
btn0 = new JButton();
btndot = new JButton();
btnequal = new JButton();
btn8 = new JButton();
getContentPane().add(txtbox);
txtbox.setBounds(1, 0, 319, 40);
ntnclear.setText("Clear");
ntnclear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
ntnclearActionPerformed(evt);
}
});
getContentPane().add(ntnclear);
ntnclear.setBounds(0, 50, 320, 40);
ntnclear.getAccessibleContext().setAccessibleName("btnClear");
btndivide.setText("/");
btndivide.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btndivideActionPerformed(evt);
}
});
getContentPane().add(btndivide);
btndivide.setBounds(240, 90, 80, 60);
btn4.setText("4");
btn4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn4ActionPerformed(evt);
}
});
getContentPane().add(btn4);
btn4.setBounds(0, 150, 80, 60);
btnplus.setText("+");
btnplus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnplusActionPerformed(evt);
}
});
getContentPane().add(btnplus);
btnplus.setBounds(240, 270, 80, 60);
btn9.setText("9");
btn9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn9ActionPerformed(evt);
}
});
getContentPane().add(btn9);;
btn9.setBounds(160, 90, 80, 60);
btn7.setText("7");
btn7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn7ActionPerformed(evt);
}
});
getContentPane().add(btn7);
btn7.setBounds(0, 90, 80, 60);
btn5.setText("5");
btn5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn5ActionPerformed(evt);
}
});
getContentPane().add(btn5);
btn5.setBounds(80, 150, 80, 60);
btn6.setText("6");
btn6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn6ActionPerformed(evt);
}
});
getContentPane().add(btn6);
btn6.setBounds(160, 150, 80, 60);
btnmultiply.setText("*");
btnmultiply.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnmultiplyActionPerformed(evt);
}
});
getContentPane().add(btnmultiply);
btnmultiply.setBounds(240, 150, 80, 60);
btn1.setText("1");
btn1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn1ActionPerformed(evt);
}
});
getContentPane().add(btn1);
btn1.setBounds(0, 210, 80, 60);
btn2.setText("2");
btn2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn2ActionPerformed(evt);
}
});
getContentPane().add(btn2);
btn2.setBounds(80, 210, 80, 60);
btn3.setText("3");
btn3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn3ActionPerformed(evt);
}
});
getContentPane().add(btn3);
btn3.setBounds(160, 210, 80, 60);
btnminus.setText("-");
btnminus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnminusActionPerformed(evt);
}
});
getContentPane().add(btnminus);
btnminus.setBounds(240, 210, 80, 60);
btn0.setText("0");
btn0.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn0ActionPerformed(evt);
}
});
getContentPane().add(btn0);
btn0.setBounds(0, 270, 80, 60);
btndot.setText(".");
btndot.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btndotActionPerformed(evt);
}
});
getContentPane().add(btndot);
btndot.setBounds(80, 270, 80, 60);
btnequal.setText("=");
btnequal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnequalActionPerformed(evt);
}
});
getContentPane().add(btnequal);
btnequal.setBounds(160, 270, 80, 60);
btn8.setText("8");
btn8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn8ActionPerformed(evt);
}
});
getContentPane().add(btn8);
btn8.setBounds(80, 90, 80, 60);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
pack();
setSize(336,370);
setVisible(true);
}
private void ntnclearActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText("");
num1 = 0;
count = 0;
}
private void btn7ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "7");
}
private void btnplusActionPerformed(java.awt.event.ActionEvent evt) {
try{
num1 = Float.parseFloat(txtbox.getText());
txtbox.setText("");
count = 2;
}
catch (Exception e){
}
}
private void btnminusActionPerformed
(java.awt.event.ActionEvent evt) {
try{
num1 = Float.parseFloat(txtbox.getText());
txtbox.setText("");
count = 1;
}
catch (Exception e){
}
}
private void btnmultiplyActionPerformed
(java.awt.event.ActionEvent evt) {
try{
num1 = Float.parseFloat(txtbox.getText());
txtbox.setText("");
count = 3;
}
catch (Exception e){
}
}
private void btndivideActionPerformed(java.awt.event.ActionEvent evt) {
try{
num1 = Float.parseFloat(txtbox.getText());
txtbox.setText("");
count = 4;
}
catch (Exception e){
}
}
private void btnequalActionPerformed
(java.awt.event.ActionEvent evt) {
compute(count);
}
private void btndotActionPerformed(java.awt.event.ActionEvent evt) {
int c = txtbox.getText().length();
int flag = 0;
String text = txtbox.getText();
for (int i = 0; i < c; i++)
{
if (text.charAt(i) == '.')
{
flag = 1; break;
}
else
{
flag = 0;
}
}
if (flag == 0)
{
txtbox.setText(txtbox.getText() + ".");
}
}
private void btn0ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "0");
}
private void btn8ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "8");
}
private void btn9ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "9");
}
private void btn4ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "4");
}
private void btn5ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "5");
}
private void btn6ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "6");
}
private void btn1ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "1");
}
private void btn2ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "2");
}
private void btn3ActionPerformed(java.awt.event.ActionEvent evt) {
txtbox.setText(txtbox.getText() + "3");
}
public void compute(int count)
{
int resultPART2;
switch (count)
{
case 1:
result = num1 - Float.parseFloat(txtbox.getText());
resultPART2 = (int)result;
if (Float.toString(result).endsWith (".0"))
{
txtbox.setText(Integer.toString(resultPART2));
}
else
{
txtbox.setText(Float.toString(result));
}
break;
case 2:
result = num1 + Float.parseFloat(txtbox.getText());
resultPART2 = (int)result;
if (Float.toString(result).endsWith (".0"))
{
txtbox.setText(Integer.toString(resultPART2));
}
else
{
txtbox.setText(Float.toString(result));
}
break;
case 3:
result = num1 * Float.parseFloat(txtbox.getText());
resultPART2 = (int)result;
if (Float.toString(result).endsWith (".0"))
{
txtbox.setText(Integer.toString(resultPART2));
}
else
{
txtbox.setText(Float.toString(result));
}
break;
case 4:
result = num1 / Float.parseFloat(txtbox.getText());
resultPART2 = (int)result;
if (Float.toString(result).endsWith (".0"))
{
txtbox.setText(Integer.toString(resultPART2));
}
else
{
txtbox.setText(Float.toString(result));
}
break;
default:
break;
}
}
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).
log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).
log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).
log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewJFrame1.class.getName()).
log(java.util.logging.Level.SEVERE, null, ex);
}
new Calculator();
}
}