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小时内与您取得联系。