全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java 简单的计算器程序实例代码

java 简单的计算器程序

实现实例:

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
 
 
public class Calculator 
{ 
  public static void main(String[] args) 
  { 
   EventQueue.invokeLater(new Runnable() 
     { 
      public void run() 
      { 
        CalculatorFrame frame = new CalculatorFrame(); 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        frame.setVisible(true); 
      } 
     }); 
  } 
} 
 
 
/** 
 * A frame with a calculator panel. 
 */ 
class CalculatorFrame extends JFrame 
{ 
  public CalculatorFrame() 
  { 
    setTitle("Calculator"); 
    CalculatorPanel panel=new CalculatorPanel(); 
    add(panel); 
    pack(); 
  } 
} 
 
 
class CalculatorPanel extends JPanel 
{ 
  private JButton display; 
    private JPanel panel; 
    private double result; 
    private String lastCommand; 
    private boolean start; 
  public CalculatorPanel() 
  { 
    setLayout(new BorderLayout()); 
     
    result=0; 
    lastCommand="="; 
    start=true; 
     
     // add the display 
    display=new JButton("0"); 
    display.setEnabled(false); 
    add(display,BorderLayout.NORTH); 
     
    ActionListener insert=new InsertAction(); 
    ActionListener command=new CommandAction(); 
     
    panel=new JPanel(); 
    panel.setLayout(new GridLayout(4,4)); 
     
     addButton("7", insert); 
     addButton("8", insert); 
     addButton("9", insert); 
     addButton("/", command); 
 
 
     addButton("4", insert); 
     addButton("5", insert); 
     addButton("6", insert); 
     addButton("*", command); 
 
 
     addButton("1", insert); 
     addButton("2", insert); 
     addButton("3", insert); 
     addButton("-", command); 
 
 
     addButton("0", insert); 
     addButton(".", insert); 
     addButton("=", command); 
     addButton("+", command); 
 
 
     add(panel, BorderLayout.CENTER); 
     
    } 
  private void addButton(String label,ActionListener listener) 
  { 
    JButton button=new JButton(label); 
    button.addActionListener(listener); 
    panel.add(button); 
  } 
  /** 
    * This action inserts the button action string to the end of the display text. 
    */ 
  private class InsertAction implements ActionListener 
  { 
    public void actionPerformed(ActionEvent event) 
    { 
      String input=event.getActionCommand(); 
      if(start) 
      { 
        display.setText(""); 
        start=false; 
      } 
      display.setText(display.getText()+input); 
    } 
  } 
   /** 
    * This action executes the command that the button action string denotes. 
    */ 
  private class CommandAction implements ActionListener 
  { 
    public void actionPerformed(ActionEvent event) 
    { 
      String command=event.getActionCommand(); 
      if(start) 
      { 
        if (command.equals("-")) 
        { 
          display.setText(command); 
          start = false; 
        } 
        else lastCommand = command; 
      }else { 
        calculate(Double.parseDouble(display.getText())); 
        lastCommand=command; 
        start=true; 
      } 
    } 
  } 
  /** 
    * Carries out the pending calculation. 
    * @param x the value to be accumulated with the prior result. 
    */ 
  public void calculate(double x) 
  { 
     if (lastCommand.equals("+")) result += x; 
     else if (lastCommand.equals("-")) result -= x; 
     else if (lastCommand.equals("*")) result *= x; 
     else if (lastCommand.equals("/")) result /= x; 
     else if (lastCommand.equals("=")) result = x; 
     display.setText("" + result); 
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# java  # 计算器程  # 计算器的实现  # Java简易计算器程序设计  # java实现简易计算器功能  # Java实现计算器的代码  # java实现简单的计算器类实例  # java实现计算器功能  # 用Java实现简单计算器功能  # Java编写简单计算器的完整实现过程  # 200行Java代码编写一个计算器程序  # Java编写计算器的常见方法实例总结  # 用Java打造简易计算器的实现步骤  # 希望能  # 谢谢大家  # true  # setVisible  # calculator  # extends  # panel  # frame  # CalculatorFrame  # setDefaultCloseOperation  # EXIT_ON_CLOSE  # JFrame  # setTitle  # display  # JButton  # double  # lastCommand  # result  # add  # CalculatorPanel 


相关文章: 如何高效利用200m空间完成建站?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  贸易公司网站制作流程,出口贸易网站设计怎么做?  定制建站是什么?如何实现个性化需求?  建站主机SSH密钥生成步骤及常见问题解答?  如何通过云梦建站系统实现SEO快速优化?  建站之星如何实现PC+手机+微信网站五合一建站?  制作网站的模板软件,网站怎么建设?  如何在宝塔面板创建新站点?  建站之星代理商如何保障技术支持与售后服务?  独立制作一个网站多少钱,建立网站需要花多少钱?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  在线制作视频的网站有哪些,电脑如何制作视频短片?  IOS倒计时设置UIButton标题title的抖动问题  建站之星如何一键生成手机站?  宝塔新建站点为何无法访问?如何排查?  如何快速生成凡客建站的专业级图册?  如何在自有机房高效搭建专业网站?  香港服务器租用费用高吗?如何避免常见误区?  如何通过免费商城建站系统源码自定义网站主题与功能?  建站之星安装失败:服务器环境不兼容?  Android自定义listview布局实现上拉加载下拉刷新功能  如何在阿里云虚拟主机上快速搭建个人网站?  如何在万网开始建站?分步指南解析  高端网站建设与定制开发一站式解决方案 中企动力  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何选择美橙互联多站合一建站方案?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  安徽网站建设与外贸建站服务专业定制方案  香港服务器建站指南:免备案优势与SEO优化技巧全解析  免费ppt制作网站,有没有值得推荐的免费PPT网站?  南平网站制作公司,2025年南平市事业单位报名时间?  建站之星图片链接生成指南:自助建站与智能设计教程  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何使用Golang table-driven基准测试_多组数据测量函数效率  nginx修改上传文件大小限制的方法  小程序网站制作需要准备什么资料,如何制作小程序?  制作网页的网站有哪些,电脑上怎么做网页?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  如何批量查询域名的建站时间记录?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何在万网自助建站平台快速创建网站?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  C#怎么使用委托和事件 C# delegate与event编程方法  建站主机服务器选购指南:轻量应用与VPS配置解析  如何获取开源自助建站系统免费下载链接?  微信h5制作网站有哪些,免费微信H5页面制作工具? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。