java做计算器_java实现简单计算器

本文实例为大家分享了java实现简单计算器的具体代码,供大家参考,具体内容如下

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

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

72cf5480d7fdcd83c3c2b741e0c02d31.png

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

93afe4b69146c7d856708a2020d8b435.png

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

d2bb56f4c64ecb9ef713b4c5f866889c.png

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

efe039d388a9c4e7f123a0084559ba7e.png

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

7c97f5f545a5c23a59a4e40e44037ed9.png

图例 :乘法运算处理

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

bd56bb22c580dfdcccdebe13107169fa.png

图例:除数不能为零

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

加法

6fd6caa6f3f112a767cf3c747bf63392.png

减法

18df3cd77bf63b915a87ed2df3675df7.png

乘法

fdaa86d9b0020aa856e4a8f371a0e467.png

除法

ee2df44b83323af3247be4326fe9a0a1.png

除数不能为0:

00752c5501728207983d9e3a7fc93786.png

实现源码

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())));

}

}

}

关于计算器的精彩文章请查看《计算器专题》 ,更多精彩等你来发现!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值