编写程序Calculater.java,实现一个简单的计算器

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class JCalculator extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;private class WindowCloser extends WindowAdapter {  //关闭窗口public void windowClosing(WindowEvent we) {System.exit(0);}}int i;private final String[] str = { "7", "8", "9", "/", "4", "5", "6", "*", "1","2", "3", "-", ".", "0", "=", "+" };JButton[] buttons = new JButton[str.length];JTextField display = new JTextField("0"); //建一个文本区来显示结果public JCalculator() {   //构造函数super("计算器");// 添加一个面板JPanel panel1 = new JPanel(new GridLayout(4, 4)); // 网格布局// 设置布局for (i = 0; i < str.length; i++) {    //布局添加内容(组件)buttons[i] = new JButton(str[i]);panel1.add(buttons[i]);}JPanel panel2 = new JPanel(new BorderLayout()); // 边界布局panel2.add("Center", display); // 文本框的东西getContentPane().setLayout(new BorderLayout());getContentPane().add("North", panel2);getContentPane().add("Center", panel1);// 给按钮添加监听器for (i = 0; i < str.length; i++)buttons[i].addActionListener(this);// 给文本区添加监听器display.addActionListener(this);// X 使关闭窗口addWindowListener(new WindowCloser());setSize(300, 300);setVisible(true);}public void actionPerformed(ActionEvent e) {String label = e.getActionCommand();  //根据内容决定操作if ("0123456789.".indexOf(label) > 0)  //匹配handleNumber(label);elsehandleOperator(label);}boolean isFirstDigit = true;  //第一位数字是否设置//对数字操作public void handleNumber(String key) {if (isFirstDigit)display.setText(key);else if ((key.equals(".")) && (display.getText().indexOf(".") < 0))display.setText(display.getText() + ".");else if (!key.equals("."))display.setText(display.getText() + key);isFirstDigit = false;}double number = 0.0;String operator = "=";//运算操作public void handleOperator(String key) {if (operator.equals("+"))number += Double.valueOf(display.getText());else if (operator.equals("-"))number -= Double.valueOf(display.getText());else if (operator.equals("*"))number *= Double.valueOf(display.getText());else if (operator.equals("/"))number /= Double.valueOf(display.getText());else if (operator.equals("="))number = Double.valueOf(display.getText());display.setText(String.valueOf(number));operator = key;isFirstDigit = true;}public static void main(String[] args) {new JCalculator();}}

Java 简单计算器相关推荐

  1. Java 简单计算器(加法)

    Java 简单计算器(加法) 结构图: ​ 如何用java写一个简易的加法计算器?本人菜鸟一枚,半个小时完成.大部分代码的解读注释已经标记好了,如下 程序入口 程序的main方法应该始终保持干净清爽, ...

  2. 求java简单计算器源代码_java简单计算器源代码

    简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout ...

  3. JAVA——简单计算器设计

    1.首先展示效果图(仅是单项运算),作为新手尽量降低了耦合,希望能得到大佬指点. (1)设置按键(作为一个父类) import java.awt.Button; import java.awt.Gri ...

  4. java计算器简单吗,java简单计算器

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 无聊做个java加减乘除计算器,int型,没有小数,,呵呵,,真特么无聊,, package swing; import javax.swing.*; i ...

  5. java简单计算器课程设计_java仿windows简易计算器课程设计 源码+报告

    [实例简介] java仿windows简易计算器课程设计 源码+报告 课直接运行. [实例截图] [核心代码] Java课设-简易计算器 └── Java课设-简易计算器 ├── Java课程设计.d ...

  6. JAVA简单计算器(简单实现两数加减乘除)

    文章目录 前言 简易计算器 前言 今日的小练习为用户输入两个数,简易实现两数的加减乘除并可重复使用. 实现这个小功能有了大概的思路其实还好,但是我却没有止步于此,为了提升用户的体验性,保证这个小程序的 ...

  7. java简单计算器课程设计报告_JAVA课程设计之计算器设计报告

    题 目: 计算器 院(系):xxx学院 年级专业:xxx班 学生姓名:xxx 指导老师:xx老师 开始时间:200x-xx-xx 完成时间:200x-xx-xx 目 录 1. 摘 要 2. 概要设计 ...

  8. Java简单计算器界面及功能的实现

    实验要求 编写计算器界面并实现其功能. 实验步骤 1.界面基本样式绘制 代码实现 import java.awt.*; import javax.swing.*; public class f_fra ...

  9. java 简单计算器

    要清理文件了,把这个代码保存一下. import java.awt.*; import java.awt.event.*; import javax.swing.*; /** topic:java-C ...

  10. java方法重载和简单计算器

    Java方法 **方法重载:**一个类中,有相同的函数名称,但形参不同的函数 重载规则: 方法名称必须相同 参数列表必须不同(个数不同,类型不同,参数排列顺序不同等) 返回类型可以相同可以不同 pub ...

最新文章

  1. 利用Python进行数据分析 Note 1
  2. b站2020用户画像_B站2020年度动画大选来袭!论引战,还是要看B站!
  3. python基础-第三篇-函数编程
  4. Spring Boot2 整合 Ehcache
  5. tensorboard ckpt pb 模型的输出节点_算法工程化系列——模型固化
  6. 2021年国庆节旅游数据报告
  7. 数据库读写锁的C++实现
  8. 日期格式转换,正则匹配后转换;指定时间增加天数加转格式;js时间转换格式
  9. 本两个Build工作总结
  10. 如何永久删除360SANDBOX?问题解决
  11. jwplayer.v7.1.4视频播放器的使用
  12. 电脑清理(C盘清理,卸载软件以及注册表清理)
  13. 找工作就来程序c#/.net开发求职招聘QQ群
  14. 开源社区——自我成长的策源地
  15. java编写定义圆类和圆柱体类,Java程序基础编程基础
  16. 论金融IT公司程序员的职业发展
  17. Autofac的基本使用
  18. PDF 转换成JPG图
  19. liferay mysql_Liferay学习笔记(一)Liferay Portal5.2.3环境的初步搭建
  20. 网络上的优美感人句子

热门文章

  1. Chrome 手动清理缓存
  2. Tensorflow SavedModel 模型的保存和加载
  3. 抖音视频什么时候投放dou+最好,dou+投放实战总结:国仁网络资讯
  4. Ios 原生开发笔记
  5. Eslint报错extra semicolon的解决方法
  6. oracle的imp导入数据,初识oracle-imp导入
  7. 舵机的基本了解以及数字舵机和模拟舵机的区别
  8. sql中的函数取余数
  9. 录制电脑游戏视频的方法
  10. java 文章目录递归(一级标题,二级标题)