import [Link].*; import [Link].*; import [Link].
*; public class CalculatorApplet extends Applet implements ActionListener { private Button keysArray[]; private Panel keyPad; private TextField lcdField; private double result; private boolean first; private boolean foundKey; static boolean clearText; private int prevOperator; public void init() { lcdField = new TextField(20); keyPad = new Panel (); keysArray = new Button[17]; result = 0.0; prevOperator = 0; first = true; clearText = true; //Set frame layout manager setLayout(new BorderLayout()); [Link](false); //Create buttons for (int i = 0; i <=9; i++) keysArray[i] = new Button([Link](i)); keysArray[10] = new Button("/"); keysArray[11] = new Button("*"); keysArray[12] = new Button("-"); keysArray[13] = new Button("+"); keysArray[14] = new Button("="); keysArray[15] = new Button("."); keysArray[16] = new Button("CLR"); //Set panel layout manager [Link](new GridLayout (4,4)); //Add button to keyPad panel for (int i = 7; i <=10; i++) //adds Button 7,8,9, and divide to Panel [Link](keysArray[i]); for (int i = 4; i <6; i++) //adds buttons 4,5,6 to Panel [Link](keysArray[i]); [Link](keysArray[11]); //adds multiply button to Panel for (int i = 1; i <= 3;i++) //adds buttons 1,2 and 3 to Panel [Link](keysArray[i]); [Link](keysArray[12]);//adds minus button to Panel [Link](keysArray[0]); //adds 0 key to Panel
for (int i = 15; i >=13; i--) [Link](keysArray[i]); //adds decimal point, equal, and addition ke ys Panel add(lcdField, [Link]); //adds text field to top of Frame add(keyPad, [Link]); //adds Panel to center of Frame add(keysArray[16], [Link]); //adds Clear key to right side of applet for(int i = 0; i < [Link]; i++) keysArray[i].addActionListener(this); } public void actionPerformed(ActionEvent e) { foundKey = false; //Search for the key pressed for (int i = 0; i < [Link] && !foundKey; i++) if([Link]() == keysArray[i]) //key match found { foundKey = true; switch(i) { case 0: case 1: case 2: case 3: case 4: //number buttons case 5: case 6: case 7: case 8: case 9: //0-9 case 15: if (clearText) { [Link](""); clearText = false; } [Link]([Link]() + keysArray[i].getLabel()); break; case 10:// divide button case 11:// multiply button case 12:// minus button case 13:// plus button case 14:// equal button clearText = true; if (first) // First operand { if([Link]().length()==0) result = 0.0; else result = [Link]([Link]()).doubleValue(); first = false; prevOperator = i; //save previous operator } else //second operand already enter, so calculator total { switch(prevOperator) { case 10: //divide Button
result /= [Link]([Link]()). doubleValue(); break; case 11: //multiply Button result *= [Link]([Link]()). doubleValue(); break; case 12: //minus button result -= [Link]([Link]()). doubleValue(); break; case 13: //plus button result += [Link]([Link]()). doubleValue(); break; } [Link]([Link](result)); if (i==14)//equal button first = true; else prevOperator = i; //save previous opetator } break; case 16://Clear button clearText = true; first = true; [Link](""); result = 0.0; prevOperator = 0; break; } } } }