Java计算器源代码(已成功运行).docx_第1页
Java计算器源代码(已成功运行).docx_第2页
Java计算器源代码(已成功运行).docx_第3页
Java计算器源代码(已成功运行).docx_第4页
Java计算器源代码(已成功运行).docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java 计算器程序代码以下为代码:import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Calculator extends JFrame implements ActionListener private boolean dotExist, operated, equaled; / 帮助运算的布尔变量 private double storedNumber; / 目前的结果 private char lastOperator; / 表示上一运算符 private JTextField operation; / 结果栏 private JButton dot, plus, minus, multi, div, sqrt, equal, changePN, clear; /运算符 private JButton numbers; / 数字 / 构造者 public Calculator() setTitle(Calculator); / 初始化变量 dotExist = false; / 表示当前的数是否有小数点 operated = false; / 表示任意运算符是否被按下 equaled = false; / 表示等号是否被按下 storedNumber = 0; lastOperator = ?; / 初始化窗口变量 operation = new JTextField(0); operation.setEditable(false); numbers = new JButton10; for (int i = 0; i 10; i+) numbersi = new JButton( + i); dot = new JButton(.); plus = new JButton(+); minus = new JButton(-); multi = new JButton(*); div = new JButton(/); sqrt = new JButton(); equal = new JButton(=); changePN = new JButton(); clear = new JButton(AC); / 将窗口物体放入窗口 GridBagLayout layout = new GridBagLayout(); getContentPane().setLayout(layout); addComponent(layout, operation, 0, 0, 4, 1); addComponent(layout, numbers1, 1, 0, 1, 1); addComponent(layout, numbers2, 1, 1, 1, 1); addComponent(layout, numbers3, 1, 2, 1, 1); addComponent(layout, numbers4, 2, 0, 1, 1); addComponent(layout, numbers5, 2, 1, 1, 1); addComponent(layout, numbers6, 2, 2, 1, 1); addComponent(layout, numbers7, 3, 0, 1, 1); addComponent(layout, numbers8, 3, 1, 1, 1); addComponent(layout, numbers9, 3, 2, 1, 1); addComponent(layout, dot, 4, 0, 1, 1); addComponent(layout, numbers0, 4, 1, 1, 1); addComponent(layout, sqrt, 4, 2, 1, 1); addComponent(layout, plus, 1, 3, 1, 1); addComponent(layout, minus, 2, 3, 1, 1); addComponent(layout, multi, 3, 3, 1, 1); addComponent(layout, div, 4, 3, 1, 1); addComponent(layout, equal, 5, 0, 2, 1); addComponent(layout, changePN, 5, 2, 1, 1); addComponent(layout, clear, 5, 3, 1, 1); / 对按钮进行反应的方法 public void actionPerformed(ActionEvent e) JButton btn = (JButton)e.getSource(); if (btn = clear) operation.setText(0); dotExist = false; storedNumber = 0; lastOperator = ?; else if (btn = equal) operate(=); equaled = true; else if (btn = plus) operate(+); equaled = false; else if (btn = minus) operate(-); equaled = false; else if (btn = multi) operate(*); equaled = false; else if (btn = div) operate(/); equaled = false; else if (btn = changePN) operate(p); operate(=); equaled = true; else if (btn = sqrt) operate(s); operate(=); equaled = true; else if (equaled) storedNumber = 0; for (int i = 0; i 10; i+) if (btn = numbersi) if (operation.getText().equals(0) operation.setText( + i); else if(! operated) operation.setText(operation.getText() + i); else operation.setText( + i); operated = false; if (btn = dot & ! dotExist) operation.setText(operation.getText() + .); dotExist = true; / 进行运算的方法 private void operate(char operator) double currentNumber = Double.valueOf(operation.getText().doubleValue(); if (lastOperator = ?) storedNumber = currentNumber; else if (lastOperator = +) storedNumber += currentNumber; else if (lastOperator = -) storedNumber -= currentNumber; else if (lastOperator = *) storedNumber *= currentNumber; else if (lastOperator = /) storedNumber /= currentNumber; else if (lastOperator = p) storedNumber *= -1; else if (lastOperator = s) storedNumber = Math.sqrt(currentNumber); else if (lastOperator = = & equaled) storedNumber = currentNumber; operation.setText( + storedNumber); operated = true; lastOperator = operator; / 快捷使用GridBagLayout的方法 private void addComponent(GridBagLayout layout, Component component, int row, int col, int width, int height) GridBagConstraints constraints = new GridBagConstraints(); constraints.fill = GridBagConstraints.BOTH; constraints.insets = new Insets(10, 2, 10, 2); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = col; constraints.gridy = row; constraints.gridwidth = width; constraints.gridheight = height; layout.setConstraints(component, constraints); if (component instanceof JButton) (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论