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