0% found this document useful (0 votes)
19 views3 pages

T

abc

Uploaded by

Tanisha Arora
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views3 pages

T

abc

Uploaded by

Tanisha Arora
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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.*;

class Calculator extends Frame implements ActionListener {

private TextField textField;


private Button b0, b1, b2, b3, b4, b5, b6, b7, b8, b9;
private Button addButton, subButton, mulButton, divButton, eqButton, clrButton;

private String s0 = "", s1 = "", s2 = "";

Calculator() {

setTitle("Calculator");
setSize(420, 550);
setLayout(null);
setVisible(true);

textField = new TextField();


textField.setBounds(50, 50, 300, 50);
textField.setEditable(false);
add(textField);

b0 = new Button("0");
b1 = new Button("1");
b2 = new Button("2");
b3 = new Button("3");
b4 = new Button("4");
b5 = new Button("5");
b6 = new Button("6");
b7 = new Button("7");
b8 = new Button("8");
b9 = new Button("9");

addButton = new Button("+");


subButton = new Button("-");
mulButton = new Button("*");
divButton = new Button("/");
eqButton = new Button("=");
clrButton = new Button("C");

b0.addActionListener(this);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
addButton.addActionListener(this);
subButton.addActionListener(this);
mulButton.addActionListener(this);
divButton.addActionListener(this);
eqButton.addActionListener(this);
clrButton.addActionListener(this);

Panel panel = new Panel();


panel.setBounds(50, 150, 300, 300);
panel.setLayout(new GridLayout(4, 4, 10, 10));

panel.add(b1);
panel.add(b2);
panel.add(b3);
panel.add(addButton);
panel.add(b4);
panel.add(b5);
panel.add(b6);
panel.add(subButton);
panel.add(b7);
panel.add(b8);
panel.add(b9);
panel.add(mulButton);
panel.add(new Label()); // Empty space
panel.add(b0);
panel.add(eqButton);
panel.add(divButton);

add(panel);

clrButton.setBounds(50, 470, 300, 50);


add(clrButton);

addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
}
});
}

public static void main(String[] args) {


new Calculator();
}

@Override
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();

if (command.charAt(0) >= '0' && command.charAt(0) <= '9') {


if (!s1.isEmpty()) {
s2 += command;
} else {
s0 += command;
}
textField.setText(s0 + s1 + s2);
} else if (command.equals("C")) {
s0 = s1 = s2 = "";
textField.setText("");
} else if (command.equals("=")) {
double result;
switch (s1) {
case "+":
result = Double.parseDouble(s0) + Double.parseDouble(s2);
break;
case "-":
result = Double.parseDouble(s0) - Double.parseDouble(s2);
break;
case "*":
result = Double.parseDouble(s0) * Double.parseDouble(s2);
break;
case "/":
result = Double.parseDouble(s0) / Double.parseDouble(s2);
break;
default:
return;
}
textField.setText(s0 + s1 + s2 + "=" + result);
s0 = String.valueOf(result);
s1 = s2 = "";
} else {
if (!s1.isEmpty() && !s2.isEmpty()) {
double result;
switch (s1) {
case "+":
result = Double.parseDouble(s0) + Double.parseDouble(s2);
break;
case "-":
result = Double.parseDouble(s0) - Double.parseDouble(s2);
break;
case "*":
result = Double.parseDouble(s0) * Double.parseDouble(s2);
break;
case "/":
result = Double.parseDouble(s0) / Double.parseDouble(s2);
break;
default:
return;
}
s0 = String.valueOf(result);
s2 = "";
}
s1 = command;
textField.setText(s0 + s1 + s2);
}
}
}

You might also like