简易计算器

import java.awt.*;
import java.awt.event.*;
//import java.math.BigDecimal;
import javax.swing.*;

public class calculator implements ActionListener {

String s[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-",
"*", "=", "ClearAll" };
JFrame jf;
JTextField t;
JPanel jp;
JButton[] buttonArray = new JButton[s.length];
String operator = "-";
String ss="0";
String s1="0";
boolean append = false;

public void display() {
jf = new JFrame("calculator");
jp = new JPanel();
t = new JTextField(25);
jp = new JPanel();
jp = new JPanel(new GridLayout(5, 4));
for (int i = 0; i < 15; i++) {
buttonArray[i] = new JButton(s[i]);
buttonArray[i].addActionListener(this);
jp.add(buttonArray[i]);
}
t.setEditable(false);
jf.add(t, "North");
jf.add(jp, "South");
jf.setBounds(200, 200, 300, 200);
jf.setVisible(true);
}

public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if(s.equals("0")||s.equals("1")||s.equals("2")||s.equals("3")
||s.equals("4")||s.equals("5")||s.equals("6")||s.equals("7")||s.equals("8")||s.equals("9"))
{
if (append)
{
String temp = t.getText();
t.setText(temp + s);
}
else
{
t.setText(s);
append=true;
}
}
else if ("+-*".indexOf(s) != -1)
{
operator=s;
s1 = t.getText();
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble("0");

if (s.equals("+"))
{
d1=d1+d2;
ss = d1+"";
t.setText(ss);
}
else if(s.equals("-"))
{
if (d2 == 0)
{
ss = s1;
t.setText(ss);
}
else
{
d1 = d1-d2;
ss = d1+"";
t.setText(ss);
}
}
else if(s.equals("*"))
{
if(d1==0||d2==0)
{
ss=s1;
t.setText(ss);
}
else
{
d1=d1*d2;
ss=d1+"";
t.setText(ss);
}
}
append = false;
}
else if (s.equals("="))
{
String s3 = t.getText();
double d3 = Double.parseDouble(s3);
double d4 = Double.parseDouble(ss);

if (operator.equals("+"))
{
d3 = d3+d4;
}
else if (operator.equals("-"))
{
d3=d4-d3;
}
else if(operator.equals("*"))
{
d3=d3*d4;
}
t.setText(d3 +"");
}
if (s.equals("ClearAll"))
{
t.setText("0");
}
}
public static void main(String agrg[]) {
new calculator().display();
}
}

相关文档
最新文档