import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class jisuanqi extends JFrame implements ActionListener,ItemListener{//ItemListener用于捕获带有item的组件产生的事件
JTextField text;
JTextField textMemory;//内存中记录
boolean clickable;
double memoryd;
int memoryi;
String copy;
public jisuanqi(){
super("计算器");
setSize(450,230);
}
public void init(){
clickable = true;
JPanel pa1=new JPanel();
pa1.setBackground(new Color(236,231,210));//设置背景
text=new JTextField("0.",38);//设置文本框长度
text.setHorizontalAlignment(JTextField.RIGHT);//从右到左
pa1.add("North",text);//面板添加和按钮的设置
JPanel pa=new JPanel();
JPanel pa2=new JPanel();
JButton bt1=new JButton("Backspace");
JButton bt2=new JButton("CE");
JButton bt3=new JButton("c");
bt3.d);
bt3.ay);
JButton bt4=new JButton("π");
bt1.addActionListener(this);//添加
bt2.addActionListener(this);
bt3.addActionListener(this);
bt4.addActionListener(this);
pa2.add(bt1);
pa2.add(bt2);
pa2.add(bt3);
pa2.add(bt4);
pa2.setLayout(new GridLayout(1,5));
pa.setLayout(new BorderLayout());
pa.add(pa2,"North");
JPanel p1=new JPanel();
p1.setLayout(new GridLayout(5,2));
JButton bt5=new JButton("sin");
JButton bt6=new JButton("cos");
JButton bt7=new JButton("MC");
JButton bt9=new JButton("MR");
JButton bt11=new JButton("MS");
JButton bt13=new JButton("M+");
JButton bt12=new JButton("n!");
JButton bt14=new JButton("%");
JButton bt8=new JButton("x²");
JButton bt10=new JButton("x³");
bt5.addActionListener(this);//THIS的意思是指调用该类的实例对象
bt6.addActionListener(this);
bt7.addActionListener(this);
bt8.addActionListener(this);
bt9.addActionListener(this);
bt10.addActionListener(this);
bt11.addActionListener(this);
bt12.addActionListener(this);
bt13.addActionListener(this);
bt14.addActionListener(this);
p1.add(bt5);
p1.add(bt6);
p1.add(bt7);
p1.add(bt8);
p1.add(bt9);
p1.add(bt10);
p1.add(bt11);
p1.add(bt12);
p1.add(bt13);
p1.add(bt14);
pa.add(p1,"West");
JPanel p = new JPanel();
p.setLayout(new GridLayout(5, 5));
String buttons[] = {"tan","cot","sinh","cosh","tanh","7","8","9","/","sqrt","4","5","6","*","Mod","1","2","3","-","1/x","0","+/-",".","+","="};
JButton btn[]=new JButton[buttons.length];
for (int i = 0; i < buttons.length; i++)
{addButton(p, buttons[i]);
pa.add(p, "Center");
}
pa1.add("South",pa);
ContentPane().add(pa1);
}
private void addButton(Container c, String s)
{ JButton b = new JButton(s);
c.add(b);
b.addActionListener(this);
}
//功能的实现
public void actionPerformed(ActionEvent evt)
{
String s = ActionCommand();
if(s.equals("CE")||s.equals("C")){
text.setText("");
}
////////////////////
else if(s.equals("+/-"))//单击"+/-"选择输入的运算数是正数还是负数
{ double x;
x=Double.Text().trim());
text.setText(""+(-x));
}
else
if (s == "sqrt") {
用java编写一个简单的计算器 String s1 = Text();
if (s1.charAt(0) == '-'&& clickable == true) {
text.setText("负数不能开根号");
clickable = false;
}
else
text.String(java.lang.Math.sqrt(Double.
Text()))));
}
else if(s.equals("x²"))//单击了"x²"按钮
{ double x;
x=Double.Text().trim());
text.setText(""+(x*x));
}
else if(s.equals("x³"))//单击了"x³"按钮
{ double x;
x=Double.Text().trim());
text.setText(""+(x*x*x));
}
else if(s.equals("n!"))//单击了"n!"按钮
{ double x;double y=1.0;
x=Double.Text().trim());
for(int i=1;i<=x;i++){
y*=i;
}
text.setText(""+y);
}
else if(s.equals("%"))//单击了"%"按钮
{ double x;
x=Double.Text().trim());
text.setText(""+(x*0.01));
}
else if(s.equals("π"))//单击了"π"按钮
{ double x;
x=Double.Text().trim());
x=x*Math.PI;
text.setText(""+x);
}
else if(s.equals("sin"))//单击了"sin"按钮
{ double x;
x=Double.Text().trim()); //获取文本框中内容功能除去字符串开头和末尾的空格或其他字符
x=Math.sin(x*Math.PI/180);
text.setText(""+x);
}
else if(s.equals("cos"))//单击了"cos"按钮
{ double x;
x=Double.Text().trim());
s(x*Math.PI/180);
text.setText(""+x);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论