广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    如何采用java编写一个简单的计算器

    来源:网络收集  点击:  时间:2024-03-11
    【导读】:
    对于学习java的小伙伴们,为了验证自己的学习效果,往往需要编写一些小项目,简单的计算器,往往是大家一个不错的选择,这里就给出了一个计算器的实例。高手可别喷我哈!!工具/原料moreeclipse软件win7系统1:准备1/2分步阅读

    1.打开IED:

    打开自己java变成的软件,采用的是eclipse软件,如图所示;

    2/2

    2.建立java工程:

    如图所示,建立自己的一个java工程,相信大家会建立了这个工程了吧;

    2:编写类1/5

    1.类的基本结构:

    由于这里用到了界面,所以要进行窗口界面的编程,按钮事件的处理,和计算处理界面;

    package MyCaculator;

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    public class MyCaculator extends JFrame {

    private int add=1,sub=2,mul=3,div=4;

    private int op=0;

    boolean ifOp;

    private String output=0;

    private Button jba=new Button{new Button(7),new Button(8),

    new Button(9),new Button(+),

    new Button(4),new Button(5),new Button(6),new Button(-),

    new Button(1),new Button(2),new Button(3),new Button(*),

    new Button(0),new Button(.),new Button(=),new Button(/)};

    private JPanel jpt=new JPanel();

    private JPanel jpb=new JPanel();

    private JTextField jtf=new JTextField();

    private MyCaculator(){

    }

    private void operate(String x){

    }

    public String add(String x){

    return output;

    }

    public String subtract(String x){

    return output;

    }

    public String multiply(String x){

    return output;

    }

    public String divide(String x){

    return output;

    }

    public String Equals(String x){

    return output;

    }

    public void opClean(){

    }

    class setOperate_Act implements ActionListener{

    public void actionPerformed(ActionEvent e) {

    }

    }

    class setLabel_Act implements ActionListener{

    public void actionPerformed(ActionEvent e) {

    }

    }

    public static void main(String args) {

    }

    }

    2/5

    2.建立构造方法:

    所谓构造方法就是,对自己的主类进行初始化,代码如下:

    private MyCaculator(){

    jpt.setLayout(new BorderLayout());

    jpt.add(jtf);

    this.add(jpt,BorderLayout.NORTH);

    jpb.setLayout(new GridLayout(4,4));

    for(int i=0;ijba.length;i++){

    jpb.add(jba);

    if(i==3||i==7||i==11||i==15||i==14)

    jba.addActionListener(new setOperate_Act());

    else

    jba.addActionListener(new setLabel_Act());

    }

    this.add(jpb,BorderLayout.CENTER);

    this.setSize(250, 200);

    this.setResizable(false);

    this.setVisible(true);

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    3/5

    3.建立数据计算方法

    这里的数据计算方法有6个,一个是主方法其他几个是加减乘除的处理方法,代码如下:

    private void operate(String x){

    double x1=Double.valueOf(x);

    double y=Double.valueOf(output);

    switch(op){

    case 0:output=x;break;

    case 1:output=String.valueOf(y+x1);break;

    case 2:output =String.valueOf(y-x1);break;

    case 3:output =String.valueOf(y*x1);break;

    case 4:

    if(x1!=0) output=String.valueOf(y/x1);

    elseoutput=不能为0;

    break;

    }

    }

    public String add(String x){

    operate(x);

    op=add;

    return output;

    }

    public String subtract(String x){

    operate(x);

    op=sub;

    return output;

    }

    public String multiply(String x){

    operate(x);

    op=mul;

    return output;

    }

    public String divide(String x){

    operate(x);

    op=div;

    return output;

    }

    public String Equals(String x){

    operate(x);

    op=0;

    return output;

    }

    public void opClean(){

    op=0;

    output =0;

    }

    4/5

    4.事件处理方法

    这里的时间处理方法,没有建立一个整体的方法,二是在为了便于处理的方法,将按钮事件分成两个部分,并采用两个子类来实现,这两个类时内部类要写在主类内部的,代码如下:

    class setOperate_Act implements ActionListener{

    public void actionPerformed(ActionEvent e) {

    if(e.getSource()==jba){

    jtf.setText(add(jtf.getText()));

    ifOp=true;

    }

    else if(e.getSource()==jba){

    jtf.setText(subtract(jtf.getText()));

    ifOp=true;

    }

    else if(e.getSource()==jba){

    jtf.setText(multiply(jtf.getText()));

    ifOp=true;

    }

    else if(e.getSource()==jba){

    jtf.setText(divide(jtf.getText()));

    ifOp=true;

    }

    else if(e.getSource()==jba){

    jtf.setText(Equals(jtf.getText()));

    ifOp=true;

    }

    }

    }

    class setLabel_Act implements ActionListener{

    public void actionPerformed(ActionEvent e) {

    Button tempb=(Button)e.getSource();

    if(ifOp){

    jtf.setText(tempb.getLabel());

    ifOp=false;

    }else {

    jtf.setText(jtf.getText()+tempb.getLabel());

    }

    }

    }

    5/5

    5.建立main方法:

    要想实现我们的代码,我们需在main方法中,实例化我们的对象。

    public static void main(String args) {

    new MyCaculator();

    }

    3:实现实例1/2

    1.编译运行:

    我们单击“编译运行”按钮,可出现我们的计算器界面;

    2/2

    2.加法实验:

    我们以实现加法为例,依次按按钮“9”“+”“7”“=”,可以看到我们的计算结果,看看是不是小小的计算器,实现了啊!!!

    注意事项

    如有疑问可以留言

    分享可以使我们懂得更多

    JAVA编程语言计算器GUI界面
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_314384.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 11:08:48  耗时:0.036
    0.0358s