JAVA计算器

在这里插入图片描述

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class JiSuanQi extends JFrame implements ActionListener{
    public Mianban1 mianban1;
    public Mianban2 mianban2;
    public ButtOn buttOn;
    public JTextField jTextField0;
    public Anniu[] annius;
    public JiSuanQi()
    {
        super("计算器");
        this.setBounds(450,100,330,500);
        this.setLayout(new GridLayout(9,1));
        annius=new Anniu[6];
        for(int i=0;i<6;i++)
            annius[i]=new Anniu();
        buttOn=new ButtOn();
        mianban1= new Mianban1();
        mianban2=new Mianban2();
        jTextField0=new JTextField("");
        jTextField0.setBackground(new Color(30,30,30));
        jTextField0.setBorder(null);
        jTextField0.setFont(new Font("隶书", Font.BOLD, 35));
        jTextField0.setForeground(new Color(30,30,30));
        this.add(mianban1);
        this.add(mianban2);
        this.add(jTextField0);
        for(int i=0;i<6;i++)
        {
            for(int j=i*4;j<i*4+4;j++)
                annius[i].add(buttOn.jButtons[j]);
        }
        for(int i=0;i<6;i++)
            this.add(annius[i]);
        for(int i=0;i<24;i++)
            buttOn.jButtons[i].addActionListener(this);
        this.setVisible(true);
    }
    public static void main(String[] args) {
        new JiSuanQi();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        try{
            if(e.getSource()==this.buttOn.jButtons[8])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"7");
            }
            if(e.getSource()==this.buttOn.jButtons[9])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"8");
            }
            if(e.getSource()==this.buttOn.jButtons[10])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"9");
            }
            if(e.getSource()==this.buttOn.jButtons[12])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"4");
            }
            if(e.getSource()==this.buttOn.jButtons[13])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"5");
            }
            if(e.getSource()==this.buttOn.jButtons[14])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"6");
            }
            if(e.getSource()==this.buttOn.jButtons[16])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"1");
            }
            if(e.getSource()==this.buttOn.jButtons[17])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"2");
            }
            if(e.getSource()==this.buttOn.jButtons[18])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"3");
            }
            if(e.getSource()==this.buttOn.jButtons[21])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+"0");
            }
            if(e.getSource()==this.buttOn.jButtons[0])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban1.jTextField.setText(string);
                this.jTextField0.setText("0");
                this.mianban2.jTextField.setText("");
            }
            if(e.getSource()==this.buttOn.jButtons[1])
            {
                String string=this.mianban2.jTextField.getText();
                double a =Double.parseDouble(string);
                this.mianban2.jTextField.setText(Double.toString(Math.sqrt(a)));
            }
            if(e.getSource()==this.buttOn.jButtons[2])
            {
                String string=this.mianban2.jTextField.getText();
                double a =Double.parseDouble(string);
                this.mianban2.jTextField.setText(Double.toString(a*a));
            }
            if(e.getSource()==this.buttOn.jButtons[3])
            {
                String string=this.mianban2.jTextField.getText();
                double a =Double.parseDouble(string);
                this.mianban2.jTextField.setText(Double.toString(1/a));
            }
            if(e.getSource()==this.buttOn.jButtons[4])
            {
                this.mianban2.jTextField.setText("");
            }
            if(e.getSource()==this.buttOn.jButtons[5])
            {
                this.mianban1.jTextField.setText("");
                this.mianban2.jTextField.setText("");
            }
            if(e.getSource()==this.buttOn.jButtons[6])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string.substring(0,string.length()-1));
            }
            if(e.getSource()==this.buttOn.jButtons[7])
            {
                if((mianban2.jTextField.getText().length()>0)&&(mianban1.jTextField.getText().length()>0))
                {
                    double a=Double.parseDouble(this.mianban1.jTextField.getText());
                    double b=Double.parseDouble(this.mianban2.jTextField.getText());
                    if(Integer.parseInt(jTextField0.getText())==19)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a+b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==15)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a-b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==11)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a*b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==7)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a/b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==0)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a%b));
                    }
                    jTextField0.setText("7");
                    this.mianban2.jTextField.setText("");
                }
                else
                {
                    String string=this.mianban2.jTextField.getText();
                    this.jTextField0.setText("7");
                    this.mianban1.jTextField.setText(string);
                    this.mianban2.jTextField.setText("");
                }
            }
            if(e.getSource()==this.buttOn.jButtons[11])
            {
                if((mianban2.jTextField.getText().length()>0)&&(mianban1.jTextField.getText().length()>0))
                {
                    double a=Double.parseDouble(this.mianban1.jTextField.getText());
                    double b=Double.parseDouble(this.mianban2.jTextField.getText());
                    if(Integer.parseInt(jTextField0.getText())==19)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a+b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==15)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a-b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==11)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a*b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==7)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a/b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==0)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a%b));
                    }jTextField0.setText("11");
                    this.mianban2.jTextField.setText("");
                }
                else
                {
                    String string=this.mianban2.jTextField.getText();
                    this.jTextField0.setText("11");
                    this.mianban1.jTextField.setText(string);
                    this.mianban2.jTextField.setText("");
                }
            }
            if(e.getSource()==this.buttOn.jButtons[15])
            {
                if((mianban2.jTextField.getText().length()>0)&&(mianban1.jTextField.getText().length()>0))
                {
                    double a=Double.parseDouble(this.mianban1.jTextField.getText());
                    double b=Double.parseDouble(this.mianban2.jTextField.getText());
                    if(Integer.parseInt(jTextField0.getText())==19)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a+b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==15)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a-b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==11)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a*b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==7)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a/b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==0)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a%b));
                    }jTextField0.setText("15");
                    this.mianban2.jTextField.setText("");
                }
                else
                {
                    String string=this.mianban2.jTextField.getText();
                    this.jTextField0.setText("15");
                    this.mianban1.jTextField.setText(string);
                    this.mianban2.jTextField.setText("");
                }
            }
            if(e.getSource()==this.buttOn.jButtons[19])
            {

                if((mianban2.jTextField.getText().length()>0)&&(mianban1.jTextField.getText().length()>0))
                {
                    double a=Double.parseDouble(this.mianban1.jTextField.getText());
                    double b=Double.parseDouble(this.mianban2.jTextField.getText());
                    if(Integer.parseInt(jTextField0.getText())==19)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a+b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==15)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a-b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==11)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a*b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==7)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a/b));
                    }
                    if(Integer.parseInt(jTextField0.getText())==0)
                    {
                        this.mianban1.jTextField.setText(Double.toString(a%b));
                    }jTextField0.setText("19");
                    this.mianban2.jTextField.setText("");
                }
                else
                {
                    String string=this.mianban2.jTextField.getText();
                    this.mianban1.jTextField.setText(string);
                    this.jTextField0.setText("19");
                    this.mianban2.jTextField.setText("");
                }
            }
            if(e.getSource()==this.buttOn.jButtons[20])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban1.jTextField.setText(string);
                this.mianban2.jTextField.setText("");
            }
            if(e.getSource()==this.buttOn.jButtons[23])
            {
                double a=Double.parseDouble(this.mianban1.jTextField.getText());
                double b=Double.parseDouble(this.mianban2.jTextField.getText());
                if(Integer.parseInt(jTextField0.getText())==19)
                {
                    this.mianban2.jTextField.setText(Double.toString(a+b));
                }
                if(Integer.parseInt(jTextField0.getText())==15)
                {
                    this.mianban2.jTextField.setText(Double.toString(a-b));
                }
                if(Integer.parseInt(jTextField0.getText())==11)
                {
                    this.mianban2.jTextField.setText(Double.toString(a*b));
                }
                if(Integer.parseInt(jTextField0.getText())==7)
                {
                    this.mianban2.jTextField.setText(Double.toString(a/b));
                }
                if(Integer.parseInt(jTextField0.getText())==0)
                {
                    this.mianban2.jTextField.setText(Double.toString(a%b));
                }
                this.mianban1.jTextField.setText("");
            }
            if(e.getSource()==this.buttOn.jButtons[22])
            {
                String string=this.mianban2.jTextField.getText();
                this.mianban2.jTextField.setText(string+".");
            }
        }catch(NumberFormatException e1)
        {
            this.mianban2.jTextField.setText("请输入正确格式");
        }
        catch(StringIndexOutOfBoundsException e1)
        {
            this.mianban2.jTextField.setText("不能再减少了");
        }
    }
    public class Mianban1 extends JPanel {
        public  JTextField jTextField;
        public Mianban1()
        {   this.setLayout(new GridLayout(1,1));
            this.add(jTextField=new JTextField(""));
            jTextField.setHorizontalAlignment(JTextField.RIGHT);
            jTextField.setBackground(new Color(30,30,30));
            jTextField.setBorder(null);
            jTextField.setFont(new Font("隶书", Font.BOLD, 20));
            jTextField.setForeground(Color.white);
            jTextField.setEditable(false);
        }
    }
    public class Mianban2 extends JPanel {
        public  JTextField jTextField;
        public Mianban2()
        {   this.setLayout(new GridLayout(1,1));
            this.add(jTextField=new JTextField(""));
            jTextField.setHorizontalAlignment(JTextField.RIGHT);
            jTextField.setBounds(0,0,300,50);
            jTextField.setBackground(new Color(30,30,30));
            jTextField.setBorder(null);
            jTextField.setFont(new Font("隶书", Font.BOLD, 35));
            jTextField.setForeground(Color.white);
            jTextField.setEditable(false);
        }
    }
    public class ButtOn  {
        public JButton [] jButtons;
        public ButtOn()
        {
            jButtons=new JButton[24];
            jButtons[0]=new JButton("%");
            jButtons[1]=new JButton("√");
            jButtons[2]=new JButton("X²");
            jButtons[3]=new JButton("1/x");
            jButtons[4]=new JButton("CE");
            jButtons[5]=new JButton("C");
            jButtons[6]=new JButton("Del");
            jButtons[7]=new JButton("÷");
            jButtons[8]=new JButton("7");
            jButtons[9]=new JButton("8");
            jButtons[10]=new JButton("9");
            jButtons[11]=new JButton("*");
            jButtons[12]=new JButton("4");
            jButtons[13]=new JButton("5");
            jButtons[14]=new JButton("6");
            jButtons[15]=new JButton("-");
            jButtons[16]=new JButton("1");
            jButtons[17]=new JButton("2");
            jButtons[18]=new JButton("3");
            jButtons[19]=new JButton("+");
            jButtons[20]=new JButton("±");
            jButtons[21]=new JButton("0");
            jButtons[22]=new JButton(".");
            jButtons[23]=new JButton("=");
            for (int i = 0; i <=23; i++) {
                jButtons[i].setBackground(new Color(30,30,30));
                jButtons[i].setBorder(null);
                jButtons[i].setFont(new Font("Mononspace", Font.BOLD, 16));
                jButtons[i].setForeground(Color.white);
            }
        }
    }
    public class Anniu extends JPanel{
        public Anniu()
        {
            this.setLayout(new GridLayout(1, 4));
        }
    }
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值