java 计算器小程序

这里写图片描述

package s;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Jsq extends JFrame {
    JTextField tf=new JTextField("0.");
    JButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
    JButton b10,b11,b12,b13;
    JButton b14=new JButton(".");
    JButton b15=new JButton("=");
    JButton b16=new JButton("clear");
    JPanel p=new JPanel();
    String snum;
    String yunSuan;
    public Jsq(){
        tf.setHorizontalAlignment(JTextField.RIGHT);
        b0=new JButton("0");b1=new JButton("1");
        b2=new JButton("2");b3=new JButton("3");
        b4=new JButton("4");b5=new JButton("5");
        b6=new JButton("6");b7=new JButton("7");
        b8=new JButton("8");b9=new JButton("9");
        b10=new JButton("+");b11=new JButton("-");
        b12=new JButton("*");b13=new JButton("/");
        C c=new C();
        b10.addActionListener(c);
        b11.addActionListener(c);
        b12.addActionListener(c);
        b13.addActionListener(c);
        b15.addActionListener(new D());
        p.setLayout(new GridLayout(4,4,4,4));
        A a=new A();
        b0.addActionListener(a);b1.addActionListener(a);
        b2.addActionListener(a);b3.addActionListener(a);
        b4.addActionListener(a);b5.addActionListener(a);
        b6.addActionListener(a);b7.addActionListener(a);
        b8.addActionListener(a);b9.addActionListener(a);
        b14.addActionListener(a);
        p.add(b1);p.add(b2);p.add(b3);p.add(b10);
        p.add(b4);p.add(b5);p.add(b6);p.add(b11);
        p.add(b7);p.add(b8);p.add(b9);p.add(b12);
        p.add(b0);p.add(b14);p.add(b15);p.add(b13);
        b16.addActionListener(new B());
        this.add(tf,BorderLayout.NORTH);
        this.add(p,BorderLayout.CENTER);
        this.add(b16,BorderLayout.SOUTH);
        this.setBounds(40,40,320,300);
        this.setResizable(false);
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        new Jsq();
    }
    class A implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            String s=e.getActionCommand();
            String ss=tf.getText();
            if(ss.equals("0.")||ss.equals("+")||ss.equals("-")||ss.equals("*")||ss.equals("/")||ss.equals(".")){
                tf.setText(s);
            }else   tf.setText(tf.getText()+s);
        }
    }
    class B implements ActionListener{
        public void actionPerformed(ActionEvent arg0) {
            tf.setText("0.");
        }
    }
    class C implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            snum=tf.getText();
            yunSuan=e.getActionCommand();
            tf.setText(yunSuan);
        }
    }
    class D implements ActionListener{
        public void actionPerformed(ActionEvent e) {
            double num1=Double.parseDouble(snum);
            double num2=Double.parseDouble(tf.getText());
            String s=Double.toString(num1+num2);
            if(yunSuan.equals("+")) tf.setText(s);
            if(yunSuan.equals("-")) tf.setText(Double.toString(num1-num2));
            if(yunSuan.equals("*")) tf.setText(Double.toString(num1*num2));
            if(yunSuan.equals("/")) tf.setText(Double.toString(num1/num2));
        }
    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值