java 计算器_用Java编写一个简单的计算器

9fd49d6776363b286c936a560ed20e06.png

9c9489c4209836a5a091a8bdefa9ff98.png

1、使用记事本或eclipse等编程工具,建立一个图形界面应用程序。

2、程序完成简单的四则计算功能

3、用户可以在名为Number1和Number2的文本输入框中输入2个操作数,然后点击下面的4个按钮之一,完成加、减、乘、除运算,并把运算结果输出到名为Result的文件夹中。

4、用户也可以通过使用Operation菜单中的四个菜单项(Add、Subtract、Mutiply、Divide)来完成相应的加、减、乘、除四则运算。

5、用户可以使用Exit菜单中的Close菜单项关闭程序窗体,结束程序运行;也可以直接点击窗体右上角的╳图标退出程序。

4386624ea33641d0ac80f59fe47b9ccc.png

51a920786155d7364b29dbff6e9c2d0b.png
package 计算器;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.*;


public class 计算器 extends Frame {

  public static void main(String[] args) {
    JFrame c=new JFrame("Computer");
    c.setLayout(new java.awt.FlowLayout());//设置布局
    c.setBounds(400, 400, 500, 150);//确定窗口位置和大小
    c.setResizable(false);
    //菜单项
    JMenuBar menubar= new JMenuBar();
    c.setJMenuBar(menubar);
    JMenu Operation=new JMenu("Operation");
    JMenuItem Exit=new JMenuItem("Exit");
    JMenuItem add=new JMenuItem("Add");
    add.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
    JMenuItem sub=new JMenuItem("Subtract");
    sub.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
    JMenuItem mul=new JMenuItem("Multiple");
    mul.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M,InputEvent.CTRL_MASK));
    JMenuItem div=new JMenuItem("Divide");
    div.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,InputEvent.CTRL_MASK));
    menubar.add(Operation);
    menubar.add(Exit);
    Operation.add(add);
    Operation.add(sub);
    Operation.add(mul);
    Operation.add(div);
    //主页面
    
    //文本框和加减乘除按钮
    JTextField num1=new JTextField(6);
    JTextField num2=new JTextField(6);
    JTextArea res=new JTextArea(1,10);
    JButton Badd=new JButton("Add");
    JButton Bsub=new JButton("Subtract");
    JButton Bmul=new JButton("Multiple");
    JButton Bdiv=new JButton("Divide");
    c.add(new JLabel("Number1"));
    c.add(num1);
    c.add(new JLabel("Number2"));
    c.add(num2);
    c.add(new JLabel("Result"));
    c.add(res);
    c.add(Badd);
    c.add(Bsub);
    c.add(Bmul);
    c.add(Bdiv);
    res.setEditable(false);
    
    //添加监听器
    Badd.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        try {
          res.setText("");
          double number1=Double.parseDouble(num1.getText());
          double number2=Double.parseDouble(num2.getText());
          double result=0;
          result=number1+number2;
          String str=new String();
          res.append(str=""+result);
        }
        catch(Exception exp){
          res.append("请输入数字字符");
        }
        
      }
    });
      
    Bsub.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          try {
            res.setText("");
            double number1=Double.parseDouble(num1.getText());
            double number2=Double.parseDouble(num2.getText());
            double result=0;
            result=number1-number2;
            String str;
            res.append(str=""+result);
          }
          catch(Exception exp){
            res.append("请输入数字字符");
          }
        }
    });
      
    Bmul.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {  
          try {
            res.setText("");
            double number1=Double.parseDouble(num1.getText());
            double number2=Double.parseDouble(num2.getText());
            double result=0;
            result=number1*number2;
            String str=new String();
            res.append(str=""+result);
          }
          catch(Exception exp){
            res.append("请输入数字字符");
          }
          
        }
    });
      
    Bdiv.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          try {
            res.setText("");
            double number1=Double.parseDouble(num1.getText());
            double number2=Double.parseDouble(num2.getText());
            if(number2==0)
            {
              res.append("ERROR");
            }
            else {
            double result=0;
            result=number1/number2;
            String str=new String();
            res.append(str=""+result);
            }
          }
          catch(Exception exp){
            res.append("请输入数字字符");
          }
          
        }
    });
      
    add.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          try {
            res.setText("");
            double number1=Double.parseDouble(num1.getText());
            double number2=Double.parseDouble(num2.getText());
            double result=0;
            result=number1+number2;
            String str=new String();
            res.append(str=""+result);
          }
          catch(Exception exp){
            res.append("请输入数字字符");
          }
          
        }
    });
        
    sub.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            try {
              res.setText("");
              double number1=Double.parseDouble(num1.getText());
              double number2=Double.parseDouble(num2.getText());
              double result=0;
              result=number1-number2;
              String str;
              res.append(str=""+result);
            }
            catch(Exception exp){
              res.append("请输入数字字符");
            }
          }
    });
        
    mul.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            try {
              res.setText("");
              double number1=Double.parseDouble(num1.getText());
              double number2=Double.parseDouble(num2.getText());
              double result=0;
              result=number1*number2;
              String str=new String();
              res.append(str=""+result);
            }
            catch(Exception exp){
              res.append("请输入数字字符");
            }
          }
    });
        
    div.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            try {
              res.setText("");
              double number1=Double.parseDouble(num1.getText());
              double number2=Double.parseDouble(num2.getText());
              if(number2==0)
              {
                res.append("ERROR");
              }
              else {
              double result=0;
              result=number1/number2;
              String str=new String();
              res.append(str=""+result);
              }
            }
            catch(Exception exp){
              res.append("请输入数字字符");
            }
          }
    });

    Exit.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e) {
            System.exit(0);    
        }
    });
      
    c.setVisible(true);  
  }
}

点个赞再走呗!

关注微信公众号Jachyn获取更多内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值