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

 时间:2024-10-12 02:57:28

对于学习java的小伙伴们,为了验证自己的学习效果,往往需要编写一些小项目,简单的计算器,往往是大家一个不错的选择,这里就给出了一个计算器的实例。高手可别喷我哈!!

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

工具/原料

eclipse软件

win7系统

1:准备

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

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

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

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

2:编写类

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) { } }

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

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;i<jba.length;i++){ jpb.add(jba[i]); if(i==3||i==7||i==11||i==15||i==14) jba[i].addActionListener(new setOperate_Act()); else jba[i].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); }

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

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); else output="不能为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"; }

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

4、事件处惯栲狠疲理方法这里的时间处理方法,没有建立一个整体的方法,二是在为了便于处理的方法,将按钮事件分成两个部分,并采用两个子类来实现,这两个类时内部类要写在主类内部的,代码如下:class setOperate_Act implements ActionListener{ public void actionPerformed(ActionEvent e) { if(e.getSource()==jba[3]){ jtf.setText(add(jtf.getText())); ifOp=true; } else if(e.getSource()==jba[7]){ jtf.setText(subtract(jtf.getText())); ifOp=true; } else if(e.getSource()==jba[11]){ jtf.setText(multiply(jtf.getText())); ifOp=true; } else if(e.getSource()==jba[15]){ jtf.setText(divide(jtf.getText())); ifOp=true; } else if(e.getSource()==jba[14]){ 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()); } } }

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

5、建立main方法:要想实现我们的代码,我们需在main方法中,实例化我们的对象。 public static void main(String[] args) { new MyCaculator(); }

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

3:实现实例

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

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

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

如何采用java编写一个简单的计算器
  • 使用astah_community软件如何向类图中添加方法
  • Navicat 如何设置外键约束
  • eclipse建立java窗口上的菜单栏
  • thinkphp如何在html页面输出数据库数据
  • 如何关闭MyEclipse应用中servers窗口下的tomcat
  • 热门搜索
    关于法制的手抄报内容 关爱教育手抄报 安全教育手抄报资料 汉字的来历手抄报 关于春节的手抄报资料 心理手抄报 送别诗手抄报 有关母亲节的手抄报 初中小组手抄报 一年级教师节手抄报