java 简单的计算器程序

实现实例:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class calculator

{

public static void main(string[] args)

{

eventqueue.invokelater(new runnable()

{

public void run()

{

calculatorframe frame = new calculatorframe();

frame.setdefaultcloseoperation(jframe.exit_on_close);

frame.setvisible(true);

}

});

}

}

/**

* a frame with a calculator panel.

*/

class calculatorframe extends jframe

{

public calculatorframe()

{

settitle("calculator");

calculatorpanel panel=new calculatorpanel();

add(panel);

pack();

}

}

class calculatorpanel extends jpanel

{

private jbutton display;

private jpanel panel;

private double result;

private string lastcommand;

private boolean start;

public calculatorpanel()

{

setlayout(new borderlayout());

result=0;

lastcommand="=";

start=true;

// add the display

display=new jbutton("0");

display.setenabled(false);

add(display,borderlayout.north);

actionlistener insert=new insertaction();

actionlistener command=new commandaction();

panel=new jpanel();

panel.setlayout(new gridlayout(4,4));

addbutton("7", insert);

addbutton("8", insert);

addbutton("9", insert);

addbutton("/", command);

addbutton("4", insert);

addbutton("5", insert);

addbutton("6", insert);

addbutton("*", command);

addbutton("1", insert);

addbutton("2", insert);

addbutton("3", insert);

addbutton("-", command);

addbutton("0", insert);

addbutton(".", insert);

addbutton("=", command);

addbutton("+", command);

add(panel, borderlayout.center);

}

private void addbutton(string label,actionlistener listener)

{

jbutton button=new jbutton(label);

button.addactionlistener(listener);

panel.add(button);

}

/**

* this action inserts the button action string to the end of the display text.

*/

private class insertaction implements actionlistener

{

public void actionperformed(actionevent event)

{

string input=event.getactioncommand();

if(start)

{

display.settext("");

start=false;

}

display.settext(display.gettext()+input);

}

}

/**

* this action executes the command that the button action string denotes.

*/

private class commandaction implements actionlistener

{

public void actionperformed(actionevent event)

{

string command=event.getactioncommand();

if(start)

{

if (command.equals("-"))

{

display.settext(command);

start = false;

}

else lastcommand = command;

}else {

calculate(double.parsedouble(display.gettext()));

lastcommand=command;

start=true;

}

}

}

/**

* carries out the pending calculation.

* @param x the value to be accumulated with the prior result.

*/

public void calculate(double x)

{

if (lastcommand.equals("+")) result += x;

else if (lastcommand.equals("-")) result -= x;

else if (lastcommand.equals("*")) result *= x;

else if (lastcommand.equals("/")) result /= x;

else if (lastcommand.equals("=")) result = x;

display.settext("" + result);

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

希望与广大网友互动??

点此进行留言吧!

计算器的程序代码java_java 简单的计算器程序实例代码相关推荐

  1. 使用VB.NET控制台应用程序实现一个简单的计算器

    使用VB.NET控制台应用程序实现一个简单的计算器 工具 VS2019 创建界面 一共使用了2种控件,显示数字的是TextBox,各种按钮是Button. 注意事项 TextBox控件的Multili ...

  2. 【练习题】构造方法 编写Java程序,模拟简单的计算器。

    package day09; /*1.[练习题]构造方法 编写Java程序,模拟简单的计算器. 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有.编写构造方法,赋予n1和n2初 ...

  3. python计算器教程,用Python程序制作一个简单的计算器

    用Python程序制作一个简单的计算器 在此示例中,您将学习创建一个简单的计算器,该计算器可以根据用户的输入进行加,减,乘或除. 要理解此示例,您应该了解以下Python编程主题: 通过函数创建简单计 ...

  4. python对逻辑回归进行显著性_python sklearn库实现简单逻辑回归的实例代码

    Sklearn简介 Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression).降维(Dimensionality Red ...

  5. java实现音频播放小程序_微信小程序实现音频文件播放进度的实例代码

    问题描述 在微信小程序中经常会用到控制文件播放的滑块,通过滑块可控制音频播放进度,下面即用代码实现. 解决方案 首先用.wxml与 .wmss 代码实现进度条的效果,再通过 .js 文件控制进度条的进 ...

  6. 简单下拉菜单html,JavaScript简单下拉菜单实例代码

    本文实例讲述了JavaScript简单下拉菜单实例代码.分享给大家供大家参考.具体如下: 这是一款JavaScript实现的下拉菜单演示代码,带渐变效果的CSS+jQuery菜单,向下滑出型的菜单,最 ...

  7. android 今日头条加载动画,Android 仿今日头条简单的刷新效果实例代码

    点击按钮,先自动进行下拉刷新,也可以手动刷新,刷新完后,最后就多一行数据.有四个选项卡. 前两天导师要求做一个给本科学生预定机房座位的app,出发点来自这里.做着做着遇到很多问题,都解决了.这个效果感 ...

  8. 多个 小程序_最简单的小程序制作方法,不会代码也能撸一个

    前言 / 小程序从17年上线到现在已经构造了新的开发环境和开发者生态,现在已经有超过150万的开发者加入到开发,小程序应用数量超过100万,覆盖200多个行业.虽然开发难度较app减少了很多,但是对于 ...

  9. java 生成token代码_java token生成和校验的实例代码

    现在越来越多的登录方式都用到了token作为用户登录令牌,所以实现了一个token生成和校验案例. 缺点:该实现方式token是存储在内存中,不适合分布式项目,如需改为分布式项目部署,可把token存 ...

最新文章

  1. 对已有文件进行既读又写的操作时关于文件位置注意事项(适用于Python和C/C++)
  2. ztree 获取当前选中节点的子节点集合
  3. [Leedcode][JAVA][第983题][最低票价][动态规划]
  4. SpringMVC之源码分析--ThemeResolver(三)
  5. addr2line -f -e *.so 0x9d69
  6. 如何在Mac中使用预览应用合并PDF文件,Mac预览应用合并PDF文件?
  7. 剧情系统实战,我们要做一个什么样的剧情系统
  8. Constructing Narrative Event Evolutionary Graph for Script Event Prediction
  9. 大饼趋势逐渐明朗,黎明就在眼前!
  10. 用计算机打字用英语怎么说,打字用英语怎么说
  11. LaTex(PART IV) 各级标题
  12. 今日小程序推荐:动态壁纸-你专属壁纸!
  13. Android 音视频开发之基础篇 使用 imageview绘制一张图片
  14. CST2019电磁工作室的简单使用
  15. iOS开发 - 二维码的生成与读取
  16. 人工神经网络(ANN/NN)、感知机(PLA)
  17. Spring Cloud学习笔记—网关Spring Cloud Gateway官网教程实操练习
  18. /Zc:strictStrings配置
  19. 解决:‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
  20. 北京地铁站经纬度集合(包含大部分)

热门文章

  1. BZOJ 3930 [CQOI2015]选数
  2. android 官方DrawerLayout的介绍和使用
  3. mysql修改默认编码为UTF8
  4. Linux重启命令reboot
  5. php项目打开快捷方式,克隆一个新项目的快捷方式_PHP教程
  6. 【Python学习系列十七】基于scikit-learn库逻辑回归训练模型(delta比赛代码2)
  7. 离线轻量级大数据平台Spark之MLib机器学习库线性回归实例
  8. Leetcode 392. 判断子序列 解题思路及C++实现
  9. Android中Activity总结
  10. 无法安装.msi文件