用Java实现简单的计算器

​ 本计算器实现了最简单的四则运算,界面简洁,小伙伴可以根据自己的需要再此基础上进行修改,可拓展性强

效果图:

代码:

public class Counter extends JPanel {public Graphics g = null;public static void main(String[] args) {Counter counter = new Counter();counter.run();}public void run() {CouterListener couterListener = new CouterListener();// 窗体标题JFrame frame = new JFrame("Calculate");// 布局:上下左右的间距为10FlowLayout fl = new FlowLayout(FlowLayout.CENTER, 10, 10);frame.setLayout(fl);// 界面的的尺寸frame.setSize(270, 400);frame.setLocationRelativeTo(null);frame.setDefaultCloseOperation(3);// 固定窗体的大小,无法通过鼠标改变大小frame.setResizable(false);// 多行文本框JTextArea field = new JTextArea();// 文本框的尺寸field.setPreferredSize(new Dimension(250, 50));// 设置最外层Frame的行数为2,一行放文本框,一行放按钮field.setRows(3);frame.add(field);// 背景颜色(可根据自己要求进行修改)frame.setBackground(Color.GRAY);couterListener.setJText(field);// 按钮布局,可以根据需要进行修改String BtArray[] = { "1", "2", "3", "+","4", "5", "6", "-","7", "8", "9", "*",".", "0", "=", "/" };// 按钮一共4行4列this.setLayout(new GridLayout(4, 4, 10, 10));frame.add(this);for (int i = 0; i < 16; i++) {JButton button = new JButton(BtArray[i]);// 按钮的颜色button.setForeground(Color.DARK_GRAY);button.setPreferredSize(new Dimension(50, 50));button.setContentAreaFilled(false);this.add(button);// 给按钮绑定点击事件button.addActionListener(couterListener);}//添加CE按钮JButton ce = new JButton("CE");ce.setForeground(Color.DARK_GRAY);ce.setPreferredSize(new Dimension(250, 50));ce.setContentAreaFilled(false);ce.addActionListener(couterListener);frame.add(ce);// 使窗口显示frame.setVisible(true);g = frame.getGraphics();}
}/*** 这是监听类** 过程解析* 以 5 + 3 = 8为例:* 当输入5的时候 temp = 5 (temp用于接收最新输入的数据)* 当输入+的时候 result = temp,也就是说result = 5 (result用于输出结果)*             count = “+”  (count会保存最近的运算符)* 当输入8的时候 temp = 8 (temp用于接收最新输入的数据)* 当输入=的时候 输出结果是 [result count temp]的结果,也就是 5 + 8的运算结果*/
class CouterListener implements ActionListener {// 文本域对象private JTextArea JF;public int x = 0;//记录最新输入的是否为数字public boolean isNumber = true;// 结果public Double resulte = 0.0, temp = 0.0;public String num[] = new String[3];// 用于保存等号之前一次的运算符,比如 + - * /public String count;// 设置文本域public void setJText(JTextArea F) {JF = F;}@Overridepublic void actionPerformed(ActionEvent e) {// 运算符事件:+ - * / 运算符ArrayList calculateCommands = new ArrayList<String>();calculateCommands.add("+");calculateCommands.add("-");calculateCommands.add("*");calculateCommands.add("/");// 获得当前的命令String command = e.getActionCommand();if ("CE".equals(command)) {// 归零resulte = temp = 0.0;count = "";JF.setText("");isNumber = true;}else if (calculateCommands.contains(command)) {// + - * /JF.setText(JF.getText() + command + "\n");if (isNumber) {//输入运算符时,result保存运算符之前的数resulte = temp;}// 保存本次的运算符count = e.getActionCommand();isNumber = false;} else if ("=".equals(command)) {// 计算结果if ("+".equals(count)) {resulte = resulte + temp;JF.setText(resulte + "");} else if ("-".equals(count)) {resulte = resulte - temp;JF.setText(resulte + "");} else if ("*".equals(count)) {resulte = resulte * temp;JF.setText(resulte + "");} else if ("/".equals(count)) {resulte = resulte / temp;JF.setText(resulte + "");}} else {//输入的不是 ce + - * / = 的时候,即输入的是数字的时候JF.setText(JF.getText() + command);if (!isNumber) {//如果上一次输入的是字符//正则表达式:根据换行符[\n]将文本框内字符串变成字符串数组num = JF.getText().split("\\n");//将运算符后面的(即换行符后面的)数字保存到temp中去temp = Double.parseDouble(num[1]);// 将下面注释打开就可以知道num和temp的作用了System.out.println("num: ");for (int i = 0; i < num.length; i++) {System.out.printf("[" + i + "]:\"" +num[i] + "\"\n");}System.out.println("temp: " + temp);} else {//如果是第一次输入数字temp = Double.parseDouble(JF.getText());}}}
}

用Java实现简单的计算器相关推荐

  1. Java实现简单的计算器(原创)

    初学Java中的Swing,写了一个简单的计算器,和大家分享一下! 支持键盘和鼠标操作 支持多个数运算.例如:输入1+2+3,结果是6! 源代码: import java.awt.*; import ...

  2. 用Java制作简单的计算器

    目录 界面的设计: 事件的响应: 计算: 详细代码如下: 总结: 要制作一个简单的计算器,首先就是对于界面的设计,然后就是其功能的实现. 对于事件的实现大概就分下面几个步骤. 确定事件源和监听源 实现 ...

  3. JAVA制作简单的计算器

    今天我们来学习做一个桌面的简单计算器.之所以说简单,是因为能完成的运算简单,只有加减乘除四则运算,远远不能跟那些功能完备的科学计算器相比.而且其中实现的思路也很简单. 关键词:java计算器,简单计算 ...

  4. Java实现简单的计算器

    先来看看界面效果 源码如下: package test1;import java.awt.Frame; import java.awt.TextField; import java.awt.Butto ...

  5. java实现两个数运算_用java做简单的计算器类,实现两个数字的加减乘除运算

    计算器类 package calculator; import java.util.Scanner; public class Calculator{ private float number1; p ...

  6. 用java实现简单的计算器(基于Calculator)

    关于Calculator的实现和安装,请参见大神博客:https://www.cnblogs.com/woider/p/5331391.html 转载请注明出处 我只是在次基础上,借了一下" ...

  7. Java实现简单的计算器代码

    package com.wyj.method;import java.util.Scanner;public class calculator {public static void main(Str ...

  8. java计算年龄_java实现简单年龄计算器

    年龄计算器. 本文实例为大家分享了java实现简单年龄计算器的具体代码,供大家参考,具体内容如下 制作一个如下图年龄计算器 根据题目,我做了一个由Calendar类以及年月日各相减得到的年龄,当然正确 ...

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

    1.使用记事本或eclipse等编程工具,建立一个图形界面应用程序. 2.程序完成简单的四则计算功能 3.用户可以在名为Number1和Number2的文本输入框中输入2个操作数,然后点击下面的4个按 ...

最新文章

  1. TIMESTAMP 与 explicit_defaults_for_timestamp
  2. 【采用】互联网金融风控模型的设计
  3. 【数据结构-树】2.二叉树遍历与线索二叉树(图解+代码)
  4. android:installLocation简析
  5. 商用计算机工作温度,winxp嵌入式主板主机对工作环境温度有什么要求
  6. 如何从特定位置开始分享YouTube视频
  7. sublime mysql插件_开发者最常用的8款Sublime text 3插件
  8. 【结论】棋盘(jzoj 2297)
  9. [html] 怎样避免让用户看到长时间的白屏?
  10. shiro学习(19): 拦截器
  11. 我的《Android官方开发文档Training系列课程中文版》的中期翻译计划
  12. java字符串拼接_这样写Java,同事直呼666
  13. deep learning for symbolic mathematics论文梳理
  14. 设置ecshop2.7首页幻灯片宽度为100%
  15. B站在美上市 A站却为融资心塞
  16. npm install -g cnpm --registry=https://registry.npm.taobao.org报警告
  17. 图片压缩利器:TinyPNGWrapper
  18. python初学入门教程_初学python编程入门教程
  19. Printf 输出格式总结
  20. Photoshop技巧

热门文章

  1. 基于Python的DELMIA二次开发(一):创建零件
  2. 百万博主之星,帅地被吐槽开挂了?
  3. SOLIDWORKS 2023新增功能 - PDM数据管理
  4. 技巧:win10的另一种美化字体的方式,使用noMeiryoUI
  5. 理性追星,超级星饭团正在行动
  6. 【​观察】全国首个智能语义平台上线 神州泰岳开放语义技术的“图谋”之大...
  7. 通达oa精灵的下载步骤_通达OA精灵2016版官方下载_通达OA精灵2016版电脑版_通达OA精灵2016版20161212-华军软件园...
  8. 微光量子计算机,量子计算
  9. c++编写手机小游戏代码_C++记忆训练小游戏程序源代码
  10. 将Revit模型转入unity中