import java.awt.*;
import java.awt.event.*;
public class calculator implements ActionListener
{
	int c,n;
	String s1,s2,s3,s4,s5;
	Frame f;
	Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17;
	Panel p;
	TextField tf;
	GridLayout g;
	calculator()
	{
		f = new Frame("My calculator");
		p = new Panel();
		f.setLayout(new FlowLayout());
		b1 = new Button("0");
		b1.addActionListener(this);
		b2 = new Button("1");
		b2.addActionListener(this);
		b3 = new Button("2");
		b3.addActionListener(this);
		b4 = new Button("3");
		b4.addActionListener(this);
		b5 = new Button("4");
		b5.addActionListener(this);
		b6 = new Button("5");
		b6.addActionListener(this);
		b7 = new Button("6");
		b7.addActionListener(this);
		b8 = new Button("7");
		b8.addActionListener(this);
		b9 = new Button("8");
		b9.addActionListener(this);
		b10 = new Button("9");
		b10.addActionListener(this);
		b11 = new Button("+");
		b11.addActionListener(this);
		b12 = new Button("-");
		b12.addActionListener(this);
		b13 = new Button("*");
		b13.addActionListener(this);
		b14 = new Button("/");
		b14.addActionListener(this);
		b15 = new Button("%");
		b15.addActionListener(this);
		b16 = new Button("=");
		b16.addActionListener(this);
		b17 = new Button("C");
		b17.addActionListener(this);
		tf = new TextField(20);
		f.add(tf);
		g = new GridLayout(4,4,10,20);
		p.setLayout(g);
		p.add(b1);p.add(b2);p.add(b3);p.add(b4);p.add(b5);p.add(b6);p.add(b7);p.add(b8);p.add(b9);
		p.add(b10);p.add(b11);p.add(b12);p.add(b13);p.add(b14);p.add(b15);p.add(b16);p.add(b17);
		f.add(p);
		f.setSize(300,300);
		f.setVisible(true);
	}
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==b1)
		{
			s3 = tf.getText();
			s4 = "0";
			s5 = s3+s4;
			tf.setText(s5);
		}
		if(e.getSource()==b2)
		{
			s3 = tf.getText();
			s4 = "1";
			s5 = s3+s4;
			tf.setText(s5);
		}
		if(e.getSource()==b3)
		{
			s3 = tf.getText();
			s4 = "2";
			s5 = s3+s4;
			tf.setText(s5);
		}if(e.getSource()==b4)
		{
			s3 = tf.getText();
			s4 = "3";
			s5 = s3+s4;
			tf.setText(s5);
		}
		if(e.getSource()==b5)
		{
			s3 = tf.getText();
			s4 = "4";
			s5 = s3+s4;
			tf.setText(s5);
		}
		if(e.getSource()==b6)
		{
			s3 = tf.getText();
			s4 = "5";
			s5 = s3+s4;
			tf.setText(s5);
		}
		if(e.getSource()==b7)
		{
			s3 = tf.getText();
			s4 = "6";
			s5 = s3+s4;
			tf.setText(s5);
		}
		if(e.getSource()==b8)
		{
			s3 = tf.getText();
			s4 = "7";
			s5 = s3+s4;
			tf.setText(s5);
		}
		if(e.getSource()==b9)
		{
			s3 = tf.getText();
			s4 = "8";
			s5 = s3+s4;
			tf.setText(s5);
		}
		if(e.getSource()==b10)
		{
			s3 = tf.getText();
			s4 = "9";
			s5 = s3+s4;
			tf.setText(s5);
		}
		if(e.getSource()==b11)
		{
			s1 = tf.getText();
			tf.setText("");
			c=1;

		}
		if(e.getSource()==b12)
		{
			s1 = tf.getText();
			tf.setText("");
			c=2;

		}
		if(e.getSource()==b13)
		{
			s1 = tf.getText();
			tf.setText("");
			c=3;

		}
		if(e.getSource()==b14)
		{
			s1 = tf.getText();
			tf.setText("");
			c=4;

		}
		if(e.getSource()==b15)
		{
			s1 = tf.getText();
			tf.setText("");
			c=5;

		}
		if(e.getSource()==b16)
		{
			s2 = tf.getText();
			if(c==1)
			{
				n = Integer.parseInt(s1)+Integer.parseInt(s2);
				tf.setText(String.valueOf(n));
			}
			else
			if(c==2)
			{
				n = Integer.parseInt(s1)-Integer.parseInt(s2);
				tf.setText(String.valueOf(n));
			}
			else
			if(c==3)
			{
				n = Integer.parseInt(s1)*Integer.parseInt(s2);
				tf.setText(String.valueOf(n));
			}
			if(c==4)
			{
			    try
			    {
			        int p=Integer.parseInt(s2);
			        if(p!=0)
                    {
                        				n = Integer.parseInt(s1)/Integer.parseInt(s2);
                    tf.setText(String.valueOf(n));
                     }
                     else
                        tf.setText("infinite");

                }
                catch(Exception i){}
			}
			if(c==5)
			{
				n = Integer.parseInt(s1)%Integer.parseInt(s2);
				tf.setText(String.valueOf(n));
			}
		}
		if(e.getSource()==b17)
		{
			tf.setText("");
		}
	}

	public static void main(String[] abc)
	{
		calculator v = new calculator();
	}
}

 

OUTPUT:

1. Compile: javac calculator.java

2. Run: java calculator

 

calculator java programming9