利用java怎么实现一个计算器功能

  

利用java怎么实现一个计算器功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

思路:定义一个主框架Frame,我们对原设计的草图进行划分,以方便后面的布局

下面我们来对主框架进行划分

利用java怎么实现一个计算器功能

如图,我们将主框架划分为四个JPanel,其中panel1,2,3使用GridLayout布局,GridLayout(1,2),

利用java怎么实现一个计算器功能

对于panel4我们使用流式布局,主框架设置为FlowLayout,

利用java怎么实现一个计算器功能

由此我们把主要的布局设计好了,接下来我们将个标签,文本框,按钮对应按钮按如上设计图依次放入各个panel中,忘了说了,我们还有对各个按钮注册事件监听器

利用java怎么实现一个计算器功能

接着我们就要在actionPerformed()函数中对事件源(e.getSource())方法中对相应的事件进行处理,我们以加法为列,我们的设计思路是:从数字一,数字二对应的文本框接收数据,由于使用JTextField的方法getText()返回的是一个String,所以我们要将其转化为十进制实数,所以我们使用了Double.parseDouble()函数将从文本框接收到的String转化为一个实数,数字一和数字二现在变成了实数,接着根据事件源不同就行对应不同的运算,接着结果继续转化为字符串(String.valueOf()函数),并且设置数字三对应的文本框的内容为相应的结果即:jt3.setText();结束。

利用java怎么实现一个计算器功能

图例 :乘法运算处理

特别的,在做除法运算时我们要对第二个操作数进行零操作检查,如果除数为零,我们将数字三对应的文本区设置为”除数不能为零”提示用户,除数不能为0

利用java怎么实现一个计算器功能

图例:除数不能为零

程序运行结果:输出1,2

加法

利用java怎么实现一个计算器功能

减法 

利用java怎么实现一个计算器功能

乘法 

利用java怎么实现一个计算器功能

除法

利用java怎么实现一个计算器功能

除数不能为0:

利用java怎么实现一个计算器功能

实现源码

import java.awt.*;
  import  javax.swing。*;
  import  java.awt.event.ActionEvent;
  import  java.awt.event.ActionListener;
  ,
  public  class  MyCalc  extends  JFrame  implements  ActionListener  {
  ,JFrame 摩根富林明;
  ,
  ,JLabel  jl1;
  ,JLabel  jl2;
  ,JLabel 卢卡斯;
  ,
  ,JButton  jb1;
  ,JButton  jb2;
  ,JButton  jb3;
  ,JButton  jb4;
  ,
  ,JTextField  jt1;
  ,JTextField  jt2;
  ,JTextField  jt3;
  ,JPanel  jp1;
  ,JPanel  jp2;
  ,JPanel  jp3;
  ,JPanel  jp4;
  ,Container 诈骗;
  ,
  ,public  void 去(),{
  ,//窗才能口设置
  this.setLayout才能(new  FlowLayout ());
  this.setTitle才能(“计算“);
  this.setSize才能(150200);
  ,,
  反对才能=this.getContentPane ();//标才能签设置
  jl1才能=new  JLabel(“数字一“);
  jl2才能=new  JLabel(“数字二“);
  卢卡斯才能=new  JLabel(“数字三“);//才能按钮设置,及其注册事件监听
  jb1才能=new  JButton (“+”);
  jb1.addActionListener才能(这个);
  jb2才能=new  JButton(“产生绯闻);
  jb2.addActionListener才能(这个);
  jb3才能=new  JButton (“*”);
  jb3.addActionListener才能(这个);
  jb4才能=new  JButton (“/?;
  jb4.addActionListener才能(这个);//才能添加到面板
  jp1才能=new  JPanel (new  GridLayout (1、2);
  jp2才能=new  JPanel (new  GridLayout (1、2);
  jp3才能=new  JPanel (new  GridLayout (1、2);
  jp4才能=new  JPanel (new  GridLayout (1、2);//才能穿件文本框
  jt1才能=new  JTextField ();
  jt2才能=new  JTextField ();
  jt3才能=new  JTextField (),,
  jp1.setVisible才能(真正的);
  ,,
  jp1.add才能(jl1);
  jp1.add才能(jt1);
  con.add才能(jp1);
  ,,
  jp2.add才能(jl2);
  jp2.add才能(jt2);
  con.add才能(jp2);
  ,,
  jp3.add才能(卢卡斯);
  jp3.add才能(jt3);,
  con.add才能(jp3);
  ,,
  jp4.add才能(jb1);
  jp4.add才能(jb2);
  jp4.add才能(jb3);
  jp4.add才能(jb4);
  con.add才能(jp4);
  ,,
  this.setVisible才能(真正的);
  ,,
  ,}
  ,public  static  void 主要(String  [], args), {
  ,MyCalc =, new  MyCalc ();
  ,
  ,a.go ();
  ,
  ,}
  ,@Override
  ,public  void  actionPerformed (ActionEvent  e), {
  ,//TODO  Auto-generated  method 存根
  ,如果(e.getSource ()==jb1), {
  ,jt3.setText (String.valueOf (Double.parseDouble (jt1.getText ()) + Double.parseDouble (jt2.getText ())));
  ,}else 如果(e.getSource ()==jb2), {
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

利用java怎么实现一个计算器功能