当前位置:   article > 正文

用java实现一个计算器的功能_java实现计算机功能

java实现计算机功能

程序是由Java中的可视化界面swing类来实现,废话不多说,直接上源码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Calculate {
    public static void main(String[] args) {
        new ComputFrame("计算器");
    }
}
class ComputFrame extends JFrame implements ActionListener{
    JTextField inputText;
    JPanel numberPanel,operPanel;
    JButton[] numBtn,operBtn;
    public ComputFrame(String title) {
        super(title);
        this.setSize(600,500);
        this.setLocationRelativeTo(null);
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        initComp();
        addComptoFrame();
        this.validate();
    }

    private void addComptoFrame()  {
        this.add(inputText,BorderLayout.NORTH);
        this.add(numberPanel,BorderLayout.CENTER);
        this.add(operPanel,BorderLayout.EAST);
    }

    private void initComp() {
        inputText=new JTextField();
        numberPanel=new JPanel();
        numberPanel.setLayout(new GridLayout(3,3));
        operPanel=new JPanel();
        operPanel.setLayout(new GridLayout(6,1));
        numBtn=new JButton[9];
        for(int i=0;i<numBtn.length;i++){
            numBtn[i]=new JButton(""+i);
            numberPanel.add(numBtn[i]);
            numBtn[i].addActionListener(this);
        }
        operBtn=new JButton[6];
        String oper[]={"del","+","-","*","/","="};
        for(int i=0;i<oper.length;i++){
            operBtn[i]=new JButton(oper[i]);
            operPanel.add(operBtn[i]);
            operBtn[i].addActionListener(this);
        }
    }

    String str="";
    @Override
    public void actionPerformed(ActionEvent e) {

        str+=e.getActionCommand();
        inputText.setText(str);
        if("=".equalsIgnoreCase(e.getActionCommand())){
            String[] a=str.split("\\D+");
            String[] oper=str.split("\\d+");
            int b=Integer.parseInt(a[0]);
            int c=Integer.parseInt(a[1]);
            if("+".equals(oper[1])){

                inputText.setText(a[0]+oper[1]+a[1]+"="+String.valueOf(b+c));
            }if("-".equals(oper[1])){

                inputText.setText(a[0]+oper[1]+a[1]+"="+String.valueOf(b-c));
            }if("*".equals(oper[1])){

                inputText.setText(a[0]+oper[1]+a[1]+"="+String.valueOf(b*c));
            }if("/".equals(oper[1])){

                inputText.setText(str+String.valueOf(b/c));
            }
        }
        if("del".equals(e.getActionCommand())){
            str=str.substring(0,str.length()-4);
            inputText.setText(str);
        }
    }
}

运行结果如下:7*8=56

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号