温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-12-15 14:43:52 来源:亿速云 阅读:193 作者:Leah 栏目:开发技术

利用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 jf;    JLabel jl1;  JLabel jl2;  JLabel jl3;    JButton jb1;  JButton jb2;  JButton jb3;  JButton jb4;    JTextField jt1;  JTextField jt2;  JTextField jt3;  JPanel jp1;  JPanel jp2;  JPanel jp3;  JPanel jp4;  Container con;    public void go() {     //窗口设置   this.setLayout(new FlowLayout());   this.setTitle("计算");   this.setSize(150,200);      con=this.getContentPane();   //标签设置   jl1=new JLabel("数字一");   jl2=new JLabel("数字二");   jl3=new JLabel("数字三");   //按钮设置,及其注册事件监听   jb1=new JButton("+");   jb1.addActionListener(this);   jb2=new JButton("-");   jb2.addActionListener(this);   jb3=new JButton("*");   jb3.addActionListener(this);   jb4=new JButton("/");   jb4.addActionListener(this);   //添加到面板   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(true);      jp1.add(jl1);   jp1.add(jt1);   con.add(jp1);      jp2.add(jl2);   jp2.add(jt2);   con.add(jp2);      jp3.add(jl3);   jp3.add(jt3);    con.add(jp3);      jp4.add(jb1);   jp4.add(jb2);   jp4.add(jb3);   jp4.add(jb4);   con.add(jp4);      this.setVisible(true);      }  public static void main(String [] args) {  MyCalc a= new MyCalc();    a.go();    }  @Override  public void actionPerformed(ActionEvent e) {  // TODO Auto-generated method stub  if(e.getSource()==jb1) {  jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())+Double.parseDouble(jt2.getText())));  }else if(e.getSource()==jb2) {  jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())-Double.parseDouble(jt2.getText())));  }else if(e.getSource()==jb3) {   jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())*Double.parseDouble(jt2.getText())));  }else {  if(Double.parseDouble(jt2.getText())==0.0) {   jt3.setText("除数不能为零");  }else  jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())/Double.parseDouble(jt2.getText())));  }    } }

关于利用java怎么实现一个计算器功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI