Happy Codings - Programming Code Examples
Html Css Web Design Sample Codes CPlusPlus Programming Sample Codes JavaScript Programming Sample Codes C Programming Sample Codes CSharp Programming Sample Codes Java Programming Sample Codes Php Programming Sample Codes Visual Basic Programming Sample Codes


Java Programming Code Examples

Java > Beginners Lab Assignments Code Examples

Calculator In Java

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
Calculator In Java 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; } } } }