This is a Java calculator I made for my programming class. I know there must be vast room for improvement.
Please bear in mind the fact that this only accepts an integer, then an operator, then another integer, and finally the = button to function correctly. Also please bear in mind the fact that it prints the result using System.out.print()
.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class JavaCalculator
{
public static boolean isA, isB;
public static int a, b, answer;
public static String operator;
public static void main (String[] args)
{
JButton button_one = new JButton ("1");
button_one.setBounds (6, 86, 100, 40);
button_one.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 1;
isA = true;
System.out.print (a);
}
else if (isA && !isB)
{
b = 1;
isB = true;
System.out.print (" " + b);
}
}
});
JButton button_two = new JButton ("2");
button_two.setBounds (106, 86, 100, 40);
button_two.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 2;
isA = true;
}
else if (isA && !isB)
{
b = 2;
isB = true;
}
}
});
JButton button_three = new JButton ("3");
button_three.setBounds (206, 86, 100, 40);
button_three.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 3;
isA = true;
}
else if (isA && !isB)
{
b = 3;
isB = true;
}
}
});
JButton button_four = new JButton ("4");
button_four.setBounds (6, 126, 100, 40);
button_four.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 4;
isA = true;
}
else if (isA && !isB)
{
b = 4;
isB = true;
}
}
});
JButton button_five = new JButton ("5");
button_five.setBounds (106, 126, 100, 40);
button_five.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 5;
isA = true;
}
else if (isA && !isB)
{
b = 5;
isB = true;
}
}
});
JButton button_six = new JButton ("6");
button_six.setBounds (206, 126, 100, 40);
button_six.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 6;
isA = true;
}
else if (isA && !isB)
{
b = 6;
isB = true;
}
}
});
JButton button_seven = new JButton ("7");
button_seven.setBounds (6, 168, 100, 40);
button_seven.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 7;
isA = true;
}
else if (isA && !isB)
{
b = 7;
isB = true;
}
}
});
JButton button_eight = new JButton ("8");
button_eight.setBounds (106, 168, 100, 40);
button_eight.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 8;
isA = true;
}
else if (isA && !isB)
{
b = 8;
isB = true;
}
}
});
JButton button_nine = new JButton ("9");
button_nine.setBounds (206, 168, 100, 40);
button_nine.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 9;
isA = true;
}
else if (isA && !isB)
{
b = 9;
isB = true;
}
}
});
JButton button_zero = new JButton ("0");
button_zero.setBounds (106, 208, 100, 40);
button_zero.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (!isA && !isB)
{
a = 0;
isA = true;
}
else if (isA && !isB)
{
b = 0;
isB = true;
}
}
});
JButton button_equals = new JButton ("=");
button_equals.setBounds (312, 168, 58, 80);
button_equals.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
if (operator.contains ("-"))
{
answer = a - b;
System.out.print (answer);
}
else if (operator.contains ("+"))
{
answer = a + b;
System.out.print (answer);
}
else if (operator.contains ("/"))
{
answer = a / b;
System.out.print (answer);
}
else if (operator.contains ("*"))
{
answer = a * b;
System.out.print (answer);
}
}
});
JButton button_minus = new JButton ("-");
button_minus.setBounds (312, 126, 58, 40);
button_minus.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
operator = "-";
}
});
JButton button_plus = new JButton ("+");
button_plus.setBounds (312, 86, 58, 40);
button_plus.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
operator = "+";
}
});
JButton button_divide = new JButton ("/");
button_divide.setBounds (312, 46, 58, 40);
button_divide.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
operator = "/";
}
});
JButton button_times = new JButton ("*");
button_times.setBounds (312, 6, 58, 40);
button_times.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
operator = "*";
}
});
JFrame frame = new JFrame ("Java Calculator");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setSize (380, 274);
frame.setResizable (false);
frame.setLayout (null);
frame.add (button_one);
frame.add (button_two);
frame.add (button_three);
frame.add (button_four);
frame.add (button_five);
frame.add (button_six);
frame.add (button_seven);
frame.add (button_eight);
frame.add (button_nine);
frame.add (button_zero);
frame.add (button_equals);
frame.add (button_minus);
frame.add (button_plus);
frame.add (button_divide);
frame.add (button_times);
frame.setVisible (true);
}
}