上!!!图!!!

UI虽丑,但五脏俱全!

代码实现

package calculation5;import javax. swing. *;
import java. awt. *;
import java. awt. event. *;public class Calculation5 extends JFrame implements ActionListener{private static final long serialVersionUID = 1L;//实现序列化,serialVersionUID 用来表明实现序列化类的不同版本间的兼容性JTextField x; //文本框String preOperater=""; //上一次的运算符double sum=0; //运算结果public Calculation5 (String title) {super(title) ;Container c=getContentPane(); //容器c. setLayout (new BorderLayout()); //容器采用边缘布局x=new JTextField(50);c. add("North",x);String buttoned[]={"0","1","2","3","+/-",".","C","退格","倒数","4","5","6","7","+","-","*","/","%","8","9","=","sqrt","pow","log","cos","tan","exp"};JPanel p=new JPanel(); //面板p. setLayout (new GridLayout (3, 9, 10, 10)); //面板采用行列数3, 9的网格布局for(int k=0;k<buttoned. length;k++) { //用一个for循环将按钮添加进面板并注册监听器JButton b=new JButton (buttoned[k]);p. add (b);b. addActionListener(this); }c. add("Center",p);this. setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);}//响应用户事件,根据点击按钮实现相关操作public void actionPerformed(ActionEvent e) {String Command=e. getActionCommand() ;try{if (Character.isDigit (Command.charAt(0))){ //如果按钮事件为数字键x. setText (x. getText () +Command); //添加数字}else if (Command. equals(".")){ //如果按钮事件为”.”键xiaoshu();}else if(Command. equals("+/-")) { //如果按钮事件为”+/-”键"fuhao();}else if (Command. equals("退格")){ //如果按钮事件为”退格”键backspace() ;}else if (Command. equals("=")){ //如果按钮事件为"=”键dengyu();}else if(Command. equals("sqrt")){ //如果按钮事件为"sqrt"键sqrt();}else if(Command. equals(" log")) { //如果按钮事件为"1og”键log();}else if (Command. equals("cos")){ //如果按钮事件为"cos”键cos();}else if (Command. equals("tan")){ //如果按钮事件为”tan”键tan();}else if (Command. equals("exp")){ //如果按钮事件为"exp”键exp();}else if (Command. equals("倒数")) { //如果按钮事件为”求倒”键"qiudao();}else if (Command. equals("C")){ //如果按钮事件为"C"键clear() ;}else { doOperation(); //记录运算符和输入的数字x. setText("");preOperater= Command;}}catch(Exception ex) {sum=0; x. setText("");}}void xiaoshu() { //添加小数点String s=x. getText();if(s.indexOf(".")==-1)x. setText(s+".");}void fuhao() { //添加负号String s=x. getText();if (s. indexOf("-")==-1)x. setText("-"+x. getText());}void backspace(){ //退格String s=x. getText();if(s. length()>0)x. setText (s. substring(0, s. length()-1));} //删除最后-一个字符void dengyu(){ //等号,显示计算结果doOperation();x. setText("" +sum) ; preOperater="";}void sqrt(){ //求该数的平方根double m=Double. parseDouble (x. getText());if (m<0) x. setText("负数不能开根号");elsex. setText(""+Math. sqrt(m)); }void log() { //求该数的自然对数double m= Double. parseDouble(x. getText());if (m<0)x. setText("负数不能进行自然对数运算");elsex. setText("" +Math. log(m)); }void cos() { //求该数的余弦
double m=Double. parseDouble(x. getText());
x. setText("" +Math. cos(m));}void tan() {//求该数的正切
double m=Double. parseDouble (x. getText());
x. setText(""+Math. tan(m));}void exp() { //求e的幂
double m=Double. parseDouble(x. getText());
x. setText("" +Math. exp (m)) ;}void qiudao() { //求倒数
if (Double. parseDouble(x. getText())==0)x. setText("除数不能为零");
else {x. setText(" "+1/ (Double. parseDouble(x. getText())));preOperater="" ;}}void clear() { //清零sum=0;x. setText("");preOperater="" ;}//根据记录的运算符将前面记录的结果sum与文本框中的数据进行运算
void doOperation() {double m=Double. parseDouble(x. getText());if (preOperater. equals("")) sum=m;//将结果与文本框中的数据按照前一个运算符运算if (preOperater. equals("+")) sum=sum+m;//加法运算if (preOperater. equals("-")) sum=sum-m; //减法运算if (preOperater. equals("*")) sum=sum*m; //乘法运算if (preOperater. equals("/")) sum=sum/m; //除法运算if (preOperater. equals("%")) sum=sum%m; //求余if (preOperater. equals("pow")) sum=Math. pow(sum, m);} //求幂public static void main(String a[]){JFrame x=new Calculation5("计算器");x.setSize(650,300);x.setVisible(true);}}

Java-计算器模拟程序相关推荐

  1. Java计算器模拟程序

    目 录 摘  要 1 前言 2 选题的目的和意义 2.1 目的 2.2 意义 3 设计方案 3.1需求分析 3.2前端界面设计 3.3后台数据设计 4 概要设计 4.1系统总体结构 4.2程序模块说明 ...

  2. 逗号运算符java_简单的java计算器 实现了重复标点及运算符连点限制

    今天练习了一个简约的java计算器的实现,特此阿萌分享代码给大家,本计算器代码也许有冗余,但是达到的限制效果还是比较完好的. 程序的实现还是比较简单的,而且代码也比较乱,想到那写到哪,但是对于作为练习 ...

  3. java计算器sqrt_比较完整的Java计算器

    import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; public ...

  4. java计算器课程报告_java计算器课程设计报告

    java计算器课程设计报告 Java 计算器 - 0 - <Java 计算器> Java 课程设计报告 姓 名: ******** 学 号: ******** 专 业: ********* ...

  5. 【Java】Java计算器

    应用名称:Java计算器 用到的知识:Java GUI编程 开发环境:win8+eclipse+jdk1.8 功能说明:可以实现基本的计算的计算器. 效果图: 源代码: import java.awt ...

  6. Java计算器设计实现

    文章目录 需求分析 设计思路 设计实现 设计实现展示 其他功能 需求分析 目的是实现一个基于Java的可以求解带括号加减乘除表达式的带界面的计算器. 需要知道的Java技术:Java Swing(Ja ...

  7. java计算器程序代码,图形化界面

    实现了加减乘除,平方立方开根号以及小数点运算,代码如下: package test1;import java.awt.*;import java.awt.event.WindowAdapter; im ...

  8. Java计算器按钮间隔_获得声音按钮的最佳方法按Java计算器?

    我是一名学习Java的学生,正在为我的简历工作一个独立的项目.我决定做一个Java计算器,因为我知道构成它的大多数组件.我不知道怎么做的一件事是按下按钮添加声音.对于Audiostream输入内容,我 ...

  9. java计算器or_java计算器

    java计算器 发布时间:2016年12月02日 评论数:抢沙发 阅读数:341 用了javascrip里的eval实现运算符优先级问题 本来想用stact栈和map记录运算符优先级的但发现javas ...

  10. 计算机JAVA设计软件,基于Java计算器小软件的设计与实现.doc

    某某大学 毕业论文 题 目: 基于Java计算器小软件设计 学生姓名: ****** 学生学号: ********** 系 别: **************** 专 业: ************ ...

最新文章

  1. 201109080909
  2. python中的散点图代码-绘制python中的线和散点图
  3. 重构-改善既有代码的设计:处理概括关系 (九)
  4. jQuery.tmpl.js
  5. 使用Iterator 或for-each注意:java.util.ConcurrentModificationException
  6. 714. 买卖股票的zui佳时机含手续费(JavaScript)
  7. [Ext JS6]视图模型和数据绑定
  8. Pycharm如何调整代码颜色以及字体样式
  9. 手机离线地图进行GPS定位
  10. 萨缪尔·莫尔斯:电报之父的传奇人生
  11. 期货市场间竞争的比较优势分析
  12. CAD梦想画图中的“绘图工具——圆弧”
  13. 信息学奥赛一本通 1033:计算线段长度
  14. wps插入C/C++代码
  15. jQuery 即点即改
  16. Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must hav
  17. 计算机复制操作的方法,怎么用键盘复制粘贴?电脑使用键盘复制粘贴的方法
  18. 【虹科案例】智能工控屏eX707在水下遥控机器人中的应用
  19. 使用GitHub Pages+Hexo 搭建个人网站详细教程
  20. linux点对点聊天室的实现与设计心得,基于Socket接口的Linux与Windows网络聊天室设计与实现...

热门文章

  1. 破解word文档(WP*/Of*)限制编辑加密保护
  2. php记住用户名功能,php利用cookie实现网页记住用户名和密码的功能
  3. 南方CASS 10.1.6:全新版本带来更强大的数据分析能力
  4. 华清远见-重庆中心-JavaWeb综合阶段技术总结
  5. 【微信公众平台】 之 消息自动回复
  6. 操作系统-6——虚拟内存
  7. 渤海活塞:无纸化使工艺与生产零距离
  8. [前端css-3] 实现图片卷帘效果,以及动画
  9. 通过AudioTrack播放正弦波纯音
  10. Qume-KVM虚拟化