实现了加减乘除,平方立方开根号以及小数点运算,代码如下:

package test1;import java.awt.*;import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
public class calculate {TextField Screen;Button btNum[],btoperator[],btPoint,btEqual,btBack,btSqrt,btPingfang,btLifang;double num1,num2;//操作数char operator;//操作符boolean isNumber=true;//代表数字标志位public void init(){Frame f;btNum=new Button[10];//数组对象for(int i=0;i<=9;i++){btNum[i]=new Button(i+"");btNum[i].setFont(new Font("Cambria", Font.BOLD, 16));//设置字体}btoperator=new Button[4];btoperator[0]=new Button("+");btoperator[0].setBackground(new Color(181, 196, 186, 255));//设置颜色btoperator[0].setFont(new Font("Cambria", Font.BOLD, 16));btoperator[1]=new Button("-");btoperator[1].setBackground(new Color(181, 196, 186, 255));btoperator[1].setFont(new Font("Cambria", Font.BOLD, 16));btoperator[2]=new Button("*");btoperator[2].setBackground(new Color(181, 196, 186, 255));btoperator[2].setFont(new Font("Cambria", Font.BOLD, 16));btoperator[3]=new Button("/");btoperator[3].setBackground(new Color(181, 196, 186, 255));btoperator[3].setFont(new Font("Cambria", Font.BOLD, 16));btPoint=new Button(".");btPoint.setFont(new Font("Cambria", Font.BOLD, 16));btEqual=new Button("=");btEqual.setFont(new Font("Cambria", Font.BOLD, 16));btBack=new Button("Backspace");btBack.setBackground(new Color(181, 196, 186, 255));btBack.setFont(new Font("Cambria", Font.BOLD, 16));btSqrt=new Button("Sqrt");btSqrt.setBackground(new Color(181, 196, 186, 255));btSqrt.setFont(new Font("Cambria", Font.BOLD, 16));btPingfang=new Button("x^2");btPingfang.setBackground(new Color(181, 196, 186, 255));btPingfang.setFont(new Font("Cambria", Font.BOLD, 16));btLifang=new Button("x^3");btLifang.setBackground(new Color(181, 196, 186, 255));btLifang.setFont(new Font("Cambria", Font.BOLD, 16));f=new Frame("Java计算器");f.setBounds(200,300,600,250);//放置组件Screen=new TextField("");Screen.setBackground(new Color(255, 192, 102));Screen.setFont(new Font("Cambria", Font.BOLD, 16));f.add(Screen,"Center" );JPanel panel = new JPanel();panel.setBorder(new LineBorder(Color.lightGray,1));f.add(panel,"South");GridLayout gl=new GridLayout(5,4);panel.setLayout(gl);panel.add(btNum[1]);panel.add(btNum[2]);panel.add(btNum[3]);panel.add(btoperator[0]);panel.add(btNum[4]);panel.add(btNum[5]);panel.add(btNum[6]);panel.add(btoperator[1]);panel.add(btNum[7]);panel.add(btNum[8]);panel.add(btNum[9]);panel.add(btoperator[2]);panel.add(btNum[0]);panel.add(btPoint);panel.add(btEqual);panel.add(btoperator[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);//操作符按钮注册监听MyoperatorLis mol=new MyoperatorLis();for(int j=0;j<=3;j++)btoperator[j].addActionListener(mol);//等号按钮注册监听MyEqualLis mel=new MyEqualLis();btEqual.addActionListener(mel);//小数点按钮注册监听MyPointLis mdl=new MyPointLis();btPoint.addActionListener(mdl);//删除按钮注册监听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=Screen.getText();if(isNumber==false) {Screen.setText(t);}else {Screen.setText(s+t);}isNumber=true;}}class MySqrtLis implements ActionListener{public void actionPerformed(ActionEvent e){double t=Double.parseDouble(Screen.getText());Screen.setText(Math.sqrt(t)+"");}}class MyPointLis implements ActionListener{public void actionPerformed(ActionEvent e){String s=Screen.getText();Screen.setText(s+'.');}}class MyPingfangLis implements ActionListener{public void actionPerformed(ActionEvent e){num1=Integer.parseInt(Screen.getText());Screen.setText(num1*num1+"");}}class MyLifangLis implements ActionListener{public void actionPerformed(ActionEvent e){num1=Integer.parseInt(Screen.getText());Screen.setText(num1*num1*num1+"");}}class MyoperatorLis implements ActionListener{public void actionPerformed(ActionEvent e){num1=Double.parseDouble(Screen.getText());//转化为DOUBLEoperator=e.getActionCommand().charAt(0);String s=Screen.getText();Screen.setText(s+operator);isNumber=true;}}class MyEqualLis implements ActionListener{public void actionPerformed(ActionEvent e){double result=0;String str = Screen.getText();switch(operator){case '+':String[] arr1 = str.split("\\+");num2=Double.parseDouble(arr1[1]);result=num1+num2;break;case '-':String[] arr2 = str.split("\\-");num2=Double.parseDouble(arr2[1]);result=num1-num2;break;case '*':String[] arr3 = str.split("\\*");num2=Double.parseDouble(arr3[1]);result=num1*num2;break;case '/':String[] arr4 = str.split("\\/");num2=Double.parseDouble(arr4[1]);result=num1/num2;break;}Screen.setText(result+"");isNumber=false;}}class MyBackLis implements ActionListener{public void actionPerformed(ActionEvent e){Screen.setText("");isNumber=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 stubcalculate c = new calculate();c.init();}
}

java计算器程序代码,图形化界面相关推荐

  1. java图形界面计算器_java实现图形化界面计算器

    本文实例为大家分享了java实现图形化界面计算器的具体代码,供大家参考,具体内容如下 最终效果图: 项目流程: 第一步:实现图形化界面(添加计算器的 Button 和 用于显示输入数字.输出结果的JT ...

  2. # java swing,awt图形化界面代码案例合集

    文章目录 java awt,swing图形化界面代码案例合集 java awt,swing图形化界面代码案例合集 package Demo1; import java.awt.*; public cl ...

  3. java计算器程序代码实现加减乘除_Python+tkinter能实现计算器!太神奇了

    听说Python很强大,有第三方库啥事儿都能干,不仅能写一个计算器框架,还能实现加减乘除运算,听着甚是崇拜啊! 废话不啰嗦了,让我们一起来看看Python是如何把计算器用一个个代码实现的. 这里我们用 ...

  4. python编写的软件界面-为Python程序添加图形化界面的教程

    Python支持多种图形界面的第三方库,包括: Tk wxWidgets Qt GTK 等等. 但是Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用. ...

  5. python编程界面怎么打开-为Python程序添加图形化界面的教程

    Python支持多种图形界面的第三方库,包括: Tk wxWidgets Qt GTK 等等. 但是Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用. ...

  6. java计算器程序代码

    /*  * 描述:计算器  */ package cn.tx; import java.awt.Button; import java.awt.Frame; import java.awt.GridL ...

  7. java工程开发之图形化界面之(第六课)

    等等 转载于:https://www.cnblogs.com/tianxia2s/p/3930722.html

  8. AidLearning中使用Wizard布局python应用程序图形化界面

    Wizard可以快速构建应用程序的图形化界面,下图是Wizard的工作区域介绍. 第一步:打开AidLearning中的Wizard工具.单击第一个Layout_H容器,选中容器,在右侧属性窗口中将容 ...

  9. JAVA图形化界面计算器

    优秀的代码是它自己最好的文档.当你考虑要添加一个注释时,问问自己,"如何能改进这段代码,以让它不需要注释 我是一名在校大学生,这学期刚刚开JAVA课,老师上周留作业让做个计算器,最近一直在搞 ...

最新文章

  1. wordpress php教程 pdf,wordpress二次开发全能教程.pdf
  2. 系统一定要做成中台吗?
  3. 一个简单IOC与DI示例
  4. salt的远程部署java-1.6.0-openjdk
  5. STM32开发 -- 串口详解
  6. base64编码_几分钟看懂Base64编码原理
  7. 2021廊坊高考口试成绩查询,2021河北八省联考成绩查询入口
  8. Spring中的Bean配置、属性配置、装配内容详细叙述
  9. Tomcat假死的原因及解决方案
  10. python爬虫设计思路_python网络爬虫(9)构建基础爬虫思路
  11. pytorch_图片分类_猫狗猴
  12. 基于uniapp开发DiscuzQ社区的ios和安卓、小程序H5源码
  13. c#、cefsharp 获取、提取 img、image 图片标签二进制数据
  14. 点云库PCL学习笔记 -- 输入输出IO -- 6.PCL中记录时间长度TicToc 类和系统Time 类
  15. 2011年中国科学院院士增选初步候选…
  16. 如何解决直播中的播放杂音、噪音、回声问题 | 直播疑难杂症排查
  17. git commit 提交信息写错,怎么更改?
  18. AR技术和VR技术的区别是什么?
  19. 网易视频云首推多路互动直播,首批测试邀请火爆来袭
  20. 学习 Golang 开发,需要掌握这几个开源框架

热门文章

  1. 用多种方案设计1位全减器电路
  2. 判断互质数的简易方法
  3. 新鲜出炉的京东面试题
  4. 去律师面试python_律师事务所---面试篇
  5. qt控件显示当前实时时间
  6. GE IFix OPC服务分析
  7. 电磁场中相位常数K和β的关系
  8. matlab求最小割,matlab實現圖割算法中的最大流最小割Max-flow/min-cut問題(一)
  9. 【应用】Python利用高德地图经纬度数据绘制定位
  10. pytest文档25-conftest.py作用范围