//=======================================================
// file calculator2.java// display lable textfield and button
//======================================================
import java.applet.*;import java.awt.*;import java.awt.event.*;
//
//=======================================================
public class calculator2 extends Applet implements ActionListener{ Button bb[ ] =new Button[10]; Button sum,sub,mul,div,c,z; Button on,off,backspace; TextField t1; Label L1; int pre_no=0; int current_no=0; int n2=0; int n3=0; int pre_flag=0; int current_flag=0; int flag=0; int i; int check;
//===============initialization of objects=======================
public void init() { L1 =new Label("CALULATOR"); add(L1); t1=new TextField(22); add(t1); on=new Button("ON"); add(on); on.addActionListener(this); off=new Button("OFF"); add(off); off.addActionListener(this); backspace=new Button("backspace"); add(backspace); backspace.addActionListener(this); c=new Button("c"); add(c); c.addActionListener(this);
for(i=0;i<10;i++) { bb[i] =new Button(String.valueOf(i)); add(bb[i]); bb[i].addActionListener(this); }
sum =new Button("+"); add (sum); sum.addActionListener(this);
sub =new Button("-"); add (sub); sub.addActionListener(this); mul =new Button("*"); add (mul); mul.addActionListener(this); div =new Button("%"); add (div); div.addActionListener(this); z=new Button("="); add(z); z.addActionListener(this); setBackground(Color.red); } public int number(int number,int k) { number=number*10+k; t1.setText(String.valueOf(number)); check=k; if(current_flag==5) { pre_flag=0; current_flag=0; pre_no=0; current_no=0;current_no=0; } return(number); }
//=======================calling the interface========================
public void actionPerformed(ActionEvent e) { flag=0; if(e.getSource()==bb[0]) n2=number(n2,0); if(e.getSource()==bb[1]) n2=number(n2,1); if(e.getSource()==bb[2]) n2=number(n2,2); if(e.getSource()==bb[3]) n2=number(n2,3); if(e.getSource()==bb[4]) n2=number(n2,4); if(e.getSource()==bb[5]) n2=number(n2,5); if(e.getSource()==bb[6]) n2=number(n2,6); if(e.getSource()==bb[7]) n2=number(n2,7); if(e.getSource()==bb[8]) n2=number(n2,8); if(e.getSource()==bb[9]) n2=number(n2,9); if(e.getSource()==mul) { t1.setText(" "); flag=1; } if(e.getSource()==div) { t1.setText(" "); flag=2; } if(e.getSource()==sum) { t1.setText(" "); flag=3; } if(e.getSource()==sub) { t1.setText(" "); flag=4; } if(e.getSource()==z) { t1.setText(" "); flag=5; } if(e.getSource()==c) { t1.setText(" "); n2=0; if(current_flag==5) { pre_flag=0; current_flag=0; pre_no=0; current_no=0; } } if(e.getSource()==backspace) { n2=(n2-check)/10; t1.setText(String.valueOf(n2)); } if(flag!=0) { pre_flag=current_flag; current_flag=flag; pre_no=current_no; current_no=n2; n2=0;flag=0; if(current_flag ==5 && pre_flag==5) { pre_flag=0; current_flag=0; pre_no=0; current_no=0; } switch(pre_flag) { case 1: current_no=pre_no * current_no ; t1.setText(String.valueOf(current_no)); break; case 2: current_no=pre_no/current_no; t1.setText(String.valueOf(current_no)); break; case 3: current_no=pre_no+current_no; t1.setText(String.valueOf(current_no)); break; case 4: current_no=pre_no-current_no; t1.setText(String.valueOf(current_no)); break; case 5: current_no=pre_no; t1.setText(String.valueOf(current_no)); } } } }