Java如何实现一个简单计算器
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍了Java如何实现一个简单计算器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先来看看界面效果:源码如下:packag
千家信息网最后更新 2025年01月23日Java如何实现一个简单计算器
这篇文章主要介绍了Java如何实现一个简单计算器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
先来看看界面效果:
源码如下:
package test1; import java.awt.Frame;import java.awt.TextField;import java.awt.Button;import java.awt.Panel;import java.awt.GridLayout; import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent; import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class calculate { TextField tfResult; Button btNum[],btOper[],btPoint,btEqual,btBack,btSqrt,btPingfang,btLifang; int num1,num2;//操作数 char oper;//操作符 boolean isNum;//代表数字标志位 public void init(){ Frame f; tfResult=new TextField(); btNum=new Button[10];//数组对象 for(int i=0;i<=9;i++){ btNum[i]=new Button(i+""); } btOper=new Button[4]; btOper[0]=new Button("+"); btOper[1]=new Button("-"); btOper[2]=new Button("*"); btOper[3]=new Button("/"); btPoint=new Button("."); btEqual=new Button("="); btBack=new Button("Backspace"); btSqrt=new Button("Sqrt"); btPingfang=new Button("2"); btLifang=new Button("3"); f=new Frame("小羊羔的计算器!"); f.setSize(300,300); //放置组件 f.add(tfResult,"North"); Panel panel=new Panel(); f.add(panel,"Center"); GridLayout gl=new GridLayout(5,4); panel.setLayout(gl); panel.add(btNum[1]); panel.add(btNum[2]); panel.add(btNum[3]); panel.add(btOper[0]); panel.add(btNum[4]); panel.add(btNum[5]); panel.add(btNum[6]); panel.add(btOper[1]); panel.add(btNum[7]); panel.add(btNum[8]); panel.add(btNum[9]); panel.add(btOper[2]); panel.add(btNum[0]); panel.add(btPoint); panel.add(btEqual); panel.add(btOper[3]); panel.add(btBack); panel.add(btSqrt); panel.add(btPingfang); panel.add(btLifang); f.setVisible(true); //注册监听 f.addWindowListener(new MyWinLis()); //数字按钮注册监听 MyNumLis mnl=new MyNumLis(); for(int i=0;i<=9;i++) btNum[i].addActionListener(mnl); //操作符按钮注册监听 MyOperLis mol=new MyOperLis(); for(int j=0;j<=3;j++) btOper[j].addActionListener(mol); //等号按钮注册监听 MyEqualLis mel=new MyEqualLis(); btEqual.addActionListener(mel); //删除按钮注册监听 MyBackLis mbl=new MyBackLis(); btBack.addActionListener(mbl); //开根号按钮注册监听 MySqrtLis msl=new MySqrtLis(); btSqrt.addActionListener(msl); //平方按钮注册监听 MyPingfangLis mpl=new MyPingfangLis(); btPingfang.addActionListener(mpl); //百分号注册监听 MyLifangLis mll=new MyLifangLis(); btLifang.addActionListener(mll); } //定义监听器类 class MyNumLis implements ActionListener{ public void actionPerformed(ActionEvent e){ String t=e.getActionCommand(); String s=tfResult.getText(); if(isNum==false) tfResult.setText(t); else tfResult.setText(s+t); isNum=true; } } class MySqrtLis implements ActionListener{ public void actionPerformed(ActionEvent e){ double t=Double.parseDouble(tfResult.getText()); tfResult.setText(Math.sqrt(t)+""); isNum=false; } } class MyPingfangLis implements ActionListener{ public void actionPerformed(ActionEvent e){ num1=Integer.parseInt(tfResult.getText()); tfResult.setText(num1*num1+""); } } class MyLifangLis implements ActionListener{ public void actionPerformed(ActionEvent e){ num1=Integer.parseInt(tfResult.getText()); tfResult.setText(num1*num1*num1+""); } } class MyOperLis implements ActionListener{ public void actionPerformed(ActionEvent e){ num1=Integer.parseInt(tfResult.getText());//转化为INT oper=e.getActionCommand().charAt(0); isNum=false; } } class MyEqualLis implements ActionListener{ public void actionPerformed(ActionEvent e){ int result=0; isNum=false; num2=Integer.parseInt(tfResult.getText()); switch(oper){ case '+':result=num1+num2;break; case '-':result=num1-num2;break; case '*':result=num1*num2;break; case '/':result=num1/num2;break; } tfResult.setText(result+""); } } class MyBackLis implements ActionListener{ public void actionPerformed(ActionEvent e){ tfResult.setText(""); isNum=false; } } class MyWinLis extends WindowAdapter{ public void windowClosing(WindowEvent e){ e.getWindow().setVisible(false); e.getWindow().dispose(); System.exit(0); } } public static void main(String[] args) { // TODO Auto-generated method stub new calculate().init(); } }
11×5=?界面如下:
感谢你能够认真阅读完这篇文章,希望小编分享的"Java如何实现一个简单计算器"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
监听
按钮
篇文章
计算器
操作符
数字
界面
代表
价值
兴趣
同时
对象
操作数
效果
数组
更多
朋友
标志
根号
源码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
专利数据库
全国网络安全周宣传语
计算机病毒与网络安全试讲稿
网络安全法 依法
无隐私网络安全吗
ps42k19连不上服务器
南充行业专业软件开发
网络安全法 审计权限
服务器管理用什么软件下载
2018教育系统网络安全
温州信息网络技术服务
网络安全宣传检查
服务器怎么开启任务管理器
软件开发的最新趋势
计算机硬件服务器的型号在哪里看
网络安全背景长图
服务器定时发送邮件
cdn服务器部署
外网服务器的管理设备
软件开发合同封面模板下载
29岁学网络安全
移动网无法连接暗黑3服务器
山东省春考计算机网络技术
数据库面试优化问题
手机fifa连接服务器
网络安全企业的信息安全
什么叫软件开发文件
网络安全背景长图
discord18 服务器
软件开发还可以找啥工作