刚把计算器程序做出来,想迫不及待发表自己的感想,对我现在的水平来说做出一个计算器图形界面并且实现相应的加减乘除运算是一件让人是十分秃头的事情,其中我参考了这位博主的运算功能的实现,并在其代码上自己做了一些修改,大家有兴趣可以看下,他的有平方和删除键的实现:https://blog.csdn.net/wu2304211/article/details/52040009。谈一下自己的感悟和学到的东西:经历了三个晚上的奋战,不断地改正代码中出现的问题(通过百度一些搜索引擎去查询并改正错误,真的是一个很大的提升)然后在自己的代码中不断的思考那个地方出了问题也确实是一个思维的锻炼,接下来说一下自己设计计算器的思路:
首先先实现一个图形界面(使用GridLayout布局管理器,建立按钮JButton,显示数字和结果的JTextField);
然后:对JButton和JTextField加上监听处理(ActionListener);
最后:对监听事件进行处理,实现相应的功能运算。
//加法运算:


//减法运算:


//乘法运算


//除法运算


//相应代码

package demo05;import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.*;public class Calculator implements ActionListener{GridLayout layout;JButton button1,button2,button3,button4,button5,button6,button7,button8,button9,button10,button11,button12,button13,button14,button15,button16;JSplitPane jsp;JFrame frame;
//  JTextArea area;JPanel pane1,pane2;JTextField jtf;public Calculator(){frame=new JFrame("计算器");frame.setSize(new Dimension(400,600));layout=new GridLayout(4,4);pane1=new JPanel(layout);jtf=new JTextField();jtf.setBounds(0, 0, 400, 200);button1=new JButton("7");button2=new JButton("8");button3=new JButton("9");button4=new JButton("/");button5=new JButton("4");button6=new JButton("5");button7=new JButton("6");button8=new JButton("*");button9=new JButton("1");button10=new JButton("2");button11=new JButton("3");button12=new JButton("+");button13=new JButton(".");button14=new JButton("0");button15=new JButton("=");button16=new JButton("-");pane1.add(button1);pane1.add(button2);pane1.add(button3);pane1.add(button4);pane1.add(button5);pane1.add(button6);pane1.add(button7);pane1.add(button8);pane1.add(button9);pane1.add(button10);pane1.add(button11);pane1.add(button12);pane1.add(button13);pane1.add(button14);pane1.add(button15);pane1.add(button16);jsp=new JSplitPane(JSplitPane.VERTICAL_SPLIT,jtf,pane1);frame.add(jsp);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);button6.addActionListener(this);button7.addActionListener(this);button8.addActionListener(this);button9.addActionListener(this);button10.addActionListener(this);button11.addActionListener(this);button12.addActionListener(this);button13.addActionListener(this);button14.addActionListener(this);button15.addActionListener(this);button16.addActionListener(this);jtf.addActionListener(this);frame.setVisible(true);}@Overridepublic void actionPerformed(ActionEvent event) {Object obj=event.getSource();if(obj instanceof JButton){JButton button=(JButton)obj;if(button14==button){if(jtf.getText().equals("0")){jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"0");}}if(button9==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("1");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"1");}}if(button10==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("2");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"2");}}if(button11==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("3");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"3");}}if(button5==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("4");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"4");}}if(button6==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("5");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"5");}}if(button7==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("6");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"6");}}if(button1==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("7");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"7");}}if(button2==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("8");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"8");}}if(button3==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("9");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"9");}}if(button13==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"");}}if(button12==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("+");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"+");}}if(button16==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("-");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"-");}}if(button8==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("*");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"*");}}if(button4==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText("/");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+"/");}}if(button13==button){if(jtf.getText().equals("0")){jtf.setText("");jtf.setText(".");jtf.requestFocus();}else{String str=jtf.getText();jtf.setText(str+".");}}//等号实现加减乘除功能if(button15==button){if(jtf.getText().indexOf("+")!=-1){String str=jtf.getText();int i=str.indexOf("+");String s=str.substring(0, i);String s1=str.substring(i+1,str.length());Double d1=Double.parseDouble(s);Double d2=Double.parseDouble(s1);double result=d1+d2;String str1=String.valueOf(result);jtf.setText(str1);
}//减法运算elseif(jtf.getText().indexOf("-")!=-1){String str=jtf.getText();int i=str.indexOf("-");String s=str.substring(0, i);String s1=str.substring(i+1,str.length());Double d1=Double.parseDouble(s.trim());Double d2=Double.parseDouble(s1);double result=d1-d2;String str1=String.valueOf(result);jtf.setText(str1);}//乘法运算else if(jtf.getText().indexOf("*")!=-1){String str=jtf.getText();int i=str.indexOf("*");String s=str.substring(0, i);String s1=str.substring(i+1,str.length());Double d1=Double.parseDouble(s.trim());Double d2=Double.parseDouble(s1);double result=d1*d2;String str1=String.valueOf(result);jtf.setText(str1);}else if(jtf.getText().indexOf("/")!=-1){String str=jtf.getText();int i=str.indexOf("/");String s=str.substring(0, i);String s1=str.substring(i+1,str.length());Double d1=Double.parseDouble(s.trim());Double d2=Double.parseDouble(s1);double result=d1/d2;String str1=String.valueOf(result);jtf.setText(str1);}else{jtf.setText("请选择要输入的运算符");}}}}public static void main(String[] args){new Calculator();}
}

java实现一个简单的计算器的加减乘除相关推荐

  1. Java实现一个简单的计算器,实现计算器中加、减、乘、除的运算方法

    java实现一个简单的计算器 import java.util.Scanner; public class Calculation{public static void main(String[] a ...

  2. java体重指数计算器程序_用Java编写一个简单的计算器程序

    展开全部 import java.awt.*; import java.awt.event.*; public class CalcAppDemo extends Frame{ private Tex ...

  3. java 计算器_用Java编写一个简单的计算器

    1.使用记事本或eclipse等编程工具,建立一个图形界面应用程序. 2.程序完成简单的四则计算功能 3.用户可以在名为Number1和Number2的文本输入框中输入2个操作数,然后点击下面的4个按 ...

  4. 用java编写计算器_用Java编写一个简单的计算器

    1.使用记事本或eclipse等编程工具,建立一个图形界面应用程序. 2.程序完成简单的四则计算功能 3.用户可以在名为Number1和Number2的文本输入框中输入2个操作数,然后点击下面的4个按 ...

  5. java 写一个简单的计算器

    请点击好的,看完介绍,咱们就根据这个杭电oj上1237 这道题,改写一个用GUI写出来的 小计算器,类似于这样: 然后 通过输入 显示结果,比如说: 可以看得出来,咱们得到的结果是正确的: 代码: p ...

  6. java 做计算器 百度云_用Java做一个简单的计算器

    窗体 package Calc; import java.awt.*; import java.awt.event.*; import javax.swing.*; /** * * 计算器程序6261 ...

  7. 利用java做一个简单的计算器

    共两个类.还只是完成+.-.×.÷运算而已. GUI只是用了AWT,很简单,相信一看就能懂了. Calculator.java public class Calculator{ private Str ...

  8. java 计算器api_用JAVA编写一个简单的计算器~要使用接口的~急啊~

    展开全部 简单写的 可以有不对的地方 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.sw ...

  9. 用java编写一个简单计算器

    java 采用java编写一个简单计算器,使用awt和swing 代码如下: import java.awt.Color; import java.awt.Font; import java.awt. ...

最新文章

  1. 华为于璠:新一代AI开源计算框架MindSpore的前世与今生 | AI ProCon 2019
  2. python(c++)刷题+剑指offer
  3. 蓝桥杯2015 C语言大学B组 C/C++
  4. 随记(电脑硬件对比)
  5. ExtJS 3.2 学习笔记(1)
  6. 跨栏表格位置跑到了下一页_LaTeX双栏模板插入通栏公式(跨栏插图)
  7. 大K提醒各位常备DOS杀毒盘
  8. HTML DOM Image 对象
  9. 随手一写,简单的四则运算练习
  10. 同城交友小程序项目功能方案介绍
  11. #博学谷it学习技术支持# Java学习心得
  12. 数据运营是什么?该如何做?
  13. 姚锦云:再论庄子传播思想与接受主体性:回应尹连根教授
  14. L1-009 N个数求和(解决测试点三错误)
  15. velodyne VLP-16线三维雷达在ros使用
  16. Icpc 沈阳 Bitwise Exclusive-OR Sequence
  17. LeetCode 热题 HOT 100 -------31. 下一个排列(数组,数学问题)128. 最长连续序列(数组) 11. 盛最多水的容器(数组) 621. 任务调度器 (数组)
  18. 用malloc开辟二维数组的三种办法
  19. 下一代云原生应用交付会怎样发展?KubeVela帮大忙。
  20. Vue项目使用富文本之tinymce-vue

热门文章

  1. 算法/最短路径/Bellman-Ford贝尔曼福特算法
  2. 如何快速搭建一个像“天猫精灵”的智能语音助手?
  3. 阿迪卫衣79/茅台茅韵两瓶149/南极人内裤4条14.9/八杯水九件套59.9
  4. sbc8600_还记得我复制的价值8600万美元的车牌扫描仪吗? 我抓住了它。
  5. Oracle发布Oracle Enterprise Manager 12c
  6. 手机信号不好?真不是套餐原因!4招教你搞定!
  7. 神州租车还有这些新玩法?打造了行业新标杆
  8. 清北学堂2019.8.9
  9. 二极管选型-二极管参数介绍
  10. matlab误码率计算函数,matlab通信系统性能估计(误码率、误比特率、眼图、星座图….) | 学步园...