java制作简易计算器

支持正负整数、正负小数四则运算,整数的取模运算,有历史数据的计算器

主页面:

package Course;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.util.Stack;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.*;


class JiSuan extends JFrame{
    private static final String FILE_PATH = "./text_history.txt"; // 本地文件路径
    JPanel panel;
    JTextField text;
    JButton jb0,jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9;	//0~9四个数字(可写成数组)
    JButton bot,add,sub,mul,div,equ;	//加减乘除以及小数点五个符号
    JButton cle,del,mod,cad;//清楚文本、回退、取模、正负数
    JButton his;//历史记录
    JPanel northPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 5));//北部区域

    public JiSuan(){
        this.setBounds(300, 200, 400, 300);	//窗体大小
        this.setTitle("计算器");	//窗体名称
        this.setLayout(new BorderLayout());	//设置计算机窗体的布局方式

        text = new JTextField(30);		//计算区域

        //新建数字按钮
        jb0 = new JButton("0");
        jb1 = new JButton("1");
        jb2 = new JButton("2");
        jb3 = new JButton("3");
        jb4 = new JButton("4");
        jb5 = new JButton("5");
        jb6 = new JButton("6");
        jb7 = new JButton("7");
        jb8 = new JButton("8");
        jb9 = new JButton("9");
        //新建符号按钮
        bot = new JButton(".");
        add = new JButton("+");
        sub = new JButton("-");
        mul = new JButton("*");
        div = new JButton("/");
        equ = new JButton("=");
        cle = new JButton("CE");
        del = new JButton("del");
        mod = new JButton("%");
        cad = new JButton("+/-");
        his = new JButton("历史");


        //新建计算器数字及符号所在区域面板
        panel = new JPanel();
        panel.setLayout(new GridLayout(5,4));	//设置面板的布局方式

        //将各按钮组件放入面板(panel)中
        //第一行
        panel.add(jb7);
        panel.add(jb8);
        panel.add(jb9);
        panel.add(div);
        //第二行
        panel.add(jb4);
        panel.add(jb5);
        panel.add(jb6);
        panel.add(mul);
        //第三行
        panel.add(jb1);
        panel.add(jb2);
        panel.add(jb3);
        panel.add(sub);
        //第四行
        panel.add(bot);
        panel.add(jb0);
        panel.add(equ);
        panel.add(add);
        //第五行
        panel.add(cle);
        panel.add(del);
        panel.add(mod);
        panel.add(cad);
        //北部区域
        northPanel.add(text);
        northPanel.add(his);

        this.add(northPanel,BorderLayout.NORTH);
        this.add(panel);

        MyEvent();	//事件处理

        this.setVisible(true);	//设置窗体显示
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	//设置窗体可关闭
    }

    public void MyEvent(){
        //文本清除
        cle.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                text.setText("");
            }
        });
        //回退
        del.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值