资源描述:

import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; /** * 一个计算器,与Windows附件自带计算器的标准版功能、界面相仿。 但还不支持键盘操作。 */ public class Calculator extends JFrame implements ActionListener { /** 计算器上的键的显示名字 */ private final String[] KEYS { “7“, “8“, “9“, “/“, “sqrt“, “4“, “5“, “6“, “*“, ““, “1“, “2“, “3“, “-“, “1/x“, “0“, “/-“, “.“, ““, ““ }; /** 计算器上的功能键的显示名字 */ private final String[] COMMAND { “Backspace“, “CE“, “C“ }; /** 计算器左边的M的显示名字 */ private final String[] M { “ “, “MC“, “MR“, “MS“, “M“ }; /** 计算器上键的按钮 */ private JButton keys[] new JButton[KEYS.length]; /** 计算器上的功能键的按钮 */ private JButton commands[] new JButton[COMMAND.length]; /** 计算器左边的M的按钮 */ private JButton m[] new JButton[M.length]; /** 计算结果文本框 */ private JTextField resultText new JTextField“0“; // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字 private boolean firstDigit true; // 计算的中间结果。 private double resultNum 0.0; // 当前运算的运算符 private String operator ““; // 操作是否合法 private boolean operatidFlag true; /** * 构造函数 */ public Calculator { super; // 初始化计算器 init; // 设置计算器的背景颜色 this.setBackgroundColor.LIGHT_GRAY; this.setTitle“计算器“; // 在屏幕500, 300坐标处显示计算器 this.setLocation500, 300; // 不许修改计算器的大小 this.setResizablefalse; // 使计算器中各组件大小合适 this.pack; } /** * 初始化计算器 */ private void init { // 文本框中的内容采用右对齐方式 resultText.setHorizontalAlignmentJTextField.RIGHT; // 不允许修改结果文本框 resultText.setEditablefalse; // 设置文本框背景颜色为白色 resultText.setBackgroundColor.white; // 初始化计算器上键的按钮,将键放在一个画板内 JPanel calckeysPanel new JPanel; // 用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素 calckeysPanel.setLayoutnew GridLayout4, 5, 3, 3; for int i 0; i KEYS.length; i { keys[i] new JButtonKEYS[i]; calckeysPanel.addkeys[i]; keys[i].setForegroundColor.blue; } // 运算符键用红色标示,其他键用蓝色表示 keys[3].setForegroundColor.red; keys[8].setForegroundCo

展开阅读全文

java计算器算法描述_基于Java的计算器算法(源代码)相关推荐

  1. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  2. JAVA 油站管理系统_基于JAVA的全国加油站[实时油价]接口调用代码实例

    代码描述:基于JAVA的全国加油站[实时油价]接口调用代码实例 接口地址:https://www.juhe.cn/docs/api/id/7 1.[代码][Java]代码 import java.io ...

  3. java实现基金浮动_基于JAVA的重仓股基金接口调用代码实例

    代码描述:基于JAVA的重仓股基金接口调用代码实例 关联数据:重仓股基金 接口地址:http://www.juhe.cn/docs/api/id/27 1.[代码][Java]代码 import ja ...

  4. java语言算法描述_六大java语言经典算法

    在程序员们进行编程的时候,对各种数据的处理是少不了的,java语言算法在这个时候就十分重要了.数据算法有很多种,也并不区分哪种计算机语言使用,但是有程序员们常用的java语言经典算法,下面就简单介绍一 ...

  5. 扫雷java程序算法设计_基于Java的Windows扫雷游戏的设计与实现毕业论文+任务书+翻译及原文+源码+辅导视频...

    基于Java的Windows扫雷游戏的设计与实现 摘 要 扫雷这款游戏有着很长的历史,从扫雷被开发出来到现在进行了无数次的优化,这款游戏变得越来越让人爱不释手了,简单的玩法在加上一个好看的游戏界面,每 ...

  6. java农产品查询系统_基于java的农产品销售系统的设计与实现论文.docx

    基于java的农产品销售系统的设计与实现论文.docx 分类号_______________ 密级________________ UDC _______________ 学号_毕业设计(论文)论文题 ...

  7. java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...

    基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...

  8. java线程卡住排查_基于 Java 线程栈 排查问题

    除日志外,还有没有别的方式跟踪线上服务问题呢?或者,跟踪并排除日志里无法发现的问题? 方法当然是有的,就是通过现场快照定位并发现问题.我们所说的现场,主要指这两方面: Java 线程栈.线程栈是Jav ...

  9. java课程设计拼图_基于Java拼图游戏的设计与实现(含录像)

    基于拼图游戏的设计与实现(含录像) 摘    要 本拼图游戏是基于J2SE平台开发的,它是一个Application,它的游戏规则和诺亚舟里的拼图游戏是一样的.这个游戏将一张大图切割成N张小图,然后在 ...

最新文章

  1. 【每日一算法】二叉树中所有距离为 K 的结点
  2. windoes 远程桌面时出现“没有远程桌面授权服务器可以提供的许可证”解决方法
  3. Python函数默认参数陷阱
  4. 反转!奥斯卡般演技的果小云水果店耍了全世界!
  5. 机器学习之五:神经网络、反向传播算法推导
  6. 如何修改VC6的项目名
  7. log4j 2.x 架构(源码)
  8. ios UITableView顶部向下偏移
  9. 通知中心 NSNotificationCenter 的简单使用方法
  10. 但有很多的HTML5朋友
  11. SQL-必知必会-触发器
  12. 周志华《机器学习》读书笔记与习题答案(持续更新)
  13. linux下无线网卡的ioctl 接口
  14. MVC学习笔记八:WebGrid控件的高级使用
  15. 软件测试人员必备工具介绍--如何滚屏抓取图片-SnagIt篇(图)
  16. 如何查看ftp服务器信息,如何查看FTP空间使用了多少?
  17. zheng-环境搭建及系统部署文档
  18. 香港云服务器网站备案,中国香港云服务器网站备案
  19. 博客专家申请规则变更调整
  20. IP协议详解【IP报文头部结构、IP分片、IP路由、IP转发】

热门文章

  1. 工具箱锁打不开了怎么办_木门门锁坏了怎么办?维修小技巧在手不发愁
  2. 华为热设计工程师待遇_沃得分享 | 华为校招青睐哪些江浙沪高校?
  3. AndroidUtilCode框架 fileutils学习总结
  4. Android中style和theme的区别
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的病例管理系统
  6. 基于JAVA+SpringMVC+MYSQL的报价管理系统
  7. 基于JAVA+SpringMVC+MYSQL的医院皮试管理系统
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的英语在线学习系统
  9. hystrix源码小贴士之中断
  10. 字符设备驱动程序的使用