0% found this document useful (0 votes)
164 views

Calculator Using Java

This Java applet creates a basic calculator interface with a keypad and LCD display. It initializes buttons for the numbers, operators, and other keys. The keypad panel is constructed with a grid layout and buttons are added. When a button is pressed, the action listener checks which button and performs the appropriate calculation or display update. It handles multiple operations by saving the previous operator and result, then performing the calculation when equals is pressed before updating the display.

Uploaded by

Chayan Halder
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
164 views

Calculator Using Java

This Java applet creates a basic calculator interface with a keypad and LCD display. It initializes buttons for the numbers, operators, and other keys. The keypad panel is constructed with a grid layout and buttons are added. When a button is pressed, the action listener checks which button and performs the appropriate calculation or display update. It handles multiple operations by saving the previous operator and result, then performing the calculation when equals is pressed before updating the display.

Uploaded by

Chayan Halder
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

import java.awt.*; import java.awt.event.*; import java.applet.

*; 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()); lcdField.setEditable(false); //Create buttons for (int i = 0; i <=9; i++) keysArray[i] = new Button(String.valueOf(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 keyPad.setLayout(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 keyPad.add(keysArray[i]); for (int i = 4; i <6; i++) //adds buttons 4,5,6 to Panel keyPad.add(keysArray[i]); keyPad.add(keysArray[11]); //adds multiply button to Panel for (int i = 1; i <= 3;i++) //adds buttons 1,2 and 3 to Panel keyPad.add(keysArray[i]); keyPad.add(keysArray[12]);//adds minus button to Panel keyPad.add(keysArray[0]); //adds 0 key to Panel

for (int i = 15; i >=13; i--) keyPad.add(keysArray[i]); //adds decimal point, equal, and addition ke ys Panel add(lcdField, BorderLayout.NORTH); //adds text field to top of Frame add(keyPad, BorderLayout.CENTER); //adds Panel to center of Frame add(keysArray[16], BorderLayout.EAST); //adds Clear key to right side of applet for(int i = 0; i < keysArray.length; i++) keysArray[i].addActionListener(this); } public void actionPerformed(ActionEvent e) { foundKey = false; //Search for the key pressed for (int i = 0; i < keysArray.length && !foundKey; i++) if(e.getSource() == 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) { lcdField.setText(""); clearText = false; } lcdField.setText(lcdField.getText() + 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(lcdField.getText().length()==0) result = 0.0; else result = Double.valueOf(lcdField.getText()).doubleValue(); first = false; prevOperator = i; //save previous operator } else //second operand already enter, so calculator total { switch(prevOperator) { case 10: //divide Button

result /= Double.valueOf(lcdField.getText()). doubleValue(); break; case 11: //multiply Button result *= Double.valueOf(lcdField.getText()). doubleValue(); break; case 12: //minus button result -= Double.valueOf(lcdField.getText()). doubleValue(); break; case 13: //plus button result += Double.valueOf(lcdField.getText()). doubleValue(); break; } lcdField.setText(Double.toString(result)); if (i==14)//equal button first = true; else prevOperator = i; //save previous opetator } break; case 16://Clear button clearText = true; first = true; lcdField.setText(""); result = 0.0; prevOperator = 0; break; } } } }

You might also like