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

资源描述:

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

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值