CS290-004 Java Programming Project

Write a Calculator Applet to perform the four basic Math functions (+,-,*,/)
and display the final result using a =(equals) button

Brian Jahns C1999

Source Code:


import java.applet.*;

import java.awt.*;



public class Calculator extends Applet

{

	TextArea screen;

	Button one, two, three, four, five, six, seven, eight, nine, zero,

		div, mult, sub, ad, eq, clear;

	int total, num, lastnum;

	String st, st1;

	char oper;

	boolean operon=false;



	public Calculator()

	{

	}



	public String getAppletInfo()

	{

		return "Name: Calculator\r\n" +

		       "Author: Brian Jahns\r\n" +

		       "Created with Microsoft Visual J++ Version 1.1";

	}





	public void init()

	{

    	resize(100, 150);

		setBackground(Color.gray);

		

		screen=new TextArea("",1,12);

		add(screen);



		one=new Button("1");

		two=new Button("2");

		three=new Button("3");

		four=new Button("4");

		five=new Button("5");

		six=new Button("6");

		seven=new Button("7");

		eight=new Button("8");

		nine=new Button("9");

		zero=new Button("0");

		div=new Button("/");

		mult=new Button("*");

		sub=new Button("-");

		ad=new Button("+");

		eq=new Button("=");

		clear=new Button("c");

		add(seven);

		add(eight);

		add(nine);

		add(div);

		add(four);

		add(five);

		add(six);

		add(mult);

		add(one);

		add(two);

		add(three);

		add(sub);

		add(clear);

		add(zero);

		add(eq);

		add(ad);

	}



	public void destroy()

	{

	}



	public void paint(Graphics g)

	{

	}



	public void start()

	{

	}

	

	public void stop()

	{

	}



	public boolean action(Event evt, Object arg)

	{

		if(evt.target instanceof Button)

		{

			if(evt.target==one)

			{

				if(operon==false)

				{

					screen.appendText("1");

					return true;

				}

				else

				{

					screen.setText("1");

					operon=false;

					return true;

				}

			}

			else if(evt.target==two)

			{

				if(operon==false)

				{

					screen.appendText("2");

					return true;

				}

				else

				{

					screen.setText("2");

					operon=false;

					return true;

				}

			}

			else if(evt.target==three)

			{

				if(operon==false)

				{

					screen.appendText("3");

					return true;

				}

				else

				{

					screen.setText("3");

					operon=false;

					return true;

				}

			}

			else if(evt.target==four)

			{

				if(operon==false)

				{

					screen.appendText("4");

					return true;

				}

				else

				{

					screen.setText("4");

					operon=false;

					return true;

				}

			}

			else if(evt.target==five)

			{

				if(operon==false)

				{

					screen.appendText("5");

					return true;

				}

				else

				{

					screen.setText("5");

					operon=false;

					return true;

				}

			}

			else if(evt.target==six)

			{

				if(operon==false)

				{

					screen.appendText("6");

					return true;

				}

				else

				{

					screen.setText("6");

					operon=false;

					return true;

				}

			}

			else if(evt.target==seven)

			{

				if(operon==false)

				{

					screen.appendText("7");

					return true;

				}

				else

				{

					screen.setText("7");

					operon=false;

					return true;

				}

			}

			else if(evt.target==eight)

			{

				if(operon==false)

				{

					screen.appendText("8");

					return true;

				}

				else

				{

					screen.setText("8");

					operon=false;

					return true;

				}

			}

			else if(evt.target==nine)

			{

				if(operon==false)

				{

					screen.appendText("9");

					return true;

				}

				else

				{

					screen.setText("9");

					operon=false;

					return true;

				}

			}

			else if(evt.target==zero)

			{

				if(operon==false)

				{

					screen.appendText("0");

					return true;

				}

				else

				{

					screen.setText("0");

					operon=false;

					return true;

				}

			}

			else if(evt.target==div)

			{

				oper='/';

				st=screen.getText();

				lastnum=Integer.parseInt(st);

				operon=true;

			}

			else if(evt.target==mult)

			{

				oper='*';

				st=screen.getText();

				lastnum=Integer.parseInt(st);

				operon=true;

			}

			else if(evt.target==sub)

			{

				oper='-';

				st=screen.getText();

				lastnum=Integer.parseInt(st);

				operon=true;

			}

			else if(evt.target==ad)

			{

				oper='+';

				st=screen.getText();

				lastnum=Integer.parseInt(st);

				operon=true;

			}

			else if(evt.target==clear)

			{

				screen.setText("");

				total=0;

			}

			else //eq

			{

				if(oper == '/')

				{

					st=screen.getText();

					num=Integer.parseInt(st);

					total=lastnum/num;

				}

				else if(oper == '*')

				{

					st=screen.getText();

					num=Integer.parseInt(st);

					total=lastnum*num;

				}

				else if(oper == '-')

				{

					st=screen.getText();

					num=Integer.parseInt(st);

					total=lastnum-num;

				}

				else if(oper == '+')

				{

					st=screen.getText();

					num=Integer.parseInt(st);

					total=lastnum+num;

				}

				st1=Integer.toString(total);

				screen.setText(st1);

				lastnum=0;

				oper='!';

				operon=true;

			}

		}

		return true;

	}

}


Source code and page C1999 Pumpkinhead Publishing by Brian Jahns