/*
 * 描述:计算器
 */
package cn.tx;

import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public  class CalculatorFrame extends Frame

implements ActionListener  {
TextField text;
Button

b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bAdd,bSub,bMult,bDiv,b

Equ,bC;
Panel p1,p2,p3,p4,p5;
String s,sign;
double a,b,result;
Calculaor cal;

CalculatorFrame(){
s = new String();
sign = new String();
text = new TextField(20);
b0 = new Button("0");
b1 = new Button("1");
b2 = new Button("2");
b3 = new Button("3");
b4 = new Button("4");
b5 = new Button("5");
b6 = new Button("6");
b7 = new Button("7");
b8 = new Button("8");
b9 = new Button("9");
bAdd = new Button("+");
bSub = new Button("-");
bMult = new Button("*");
bDiv = new Button("/");
bEqu = new Button("=");
bC = new Button("C");

p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
p4 = new Panel();
p5 = new Panel();

this.setLayout(new GridLayout(5,1));
this.add(p1);
this.add(p2);
this.add(p3);
this.add(p4);
this.add(p5);

p1.add(text);
p2.add(b1);
p2.add(b2);
p2.add(b3);
p2.add(bAdd);
p3.add(b4);
p3.add(b5);
p3.add(b6);
p3.add(bSub);
p4.add(b7);
p4.add(b8);
p4.add(b9);
p4.add(bMult);
p5.add(bC);
p5.add(b0);
p5.add(bEqu);
p5.add(bDiv);

b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b0.addActionListener(this);
bAdd.addActionListener(this);
bSub.addActionListener(this);
bMult.addActionListener(this);
bDiv.addActionListener(this);
bC.addActionListener(this);
bEqu.addActionListener(this);
//关闭

this.addWindowListener(new WindowAdapter(){
public void

windowClosing(WindowEvent we){

System.exit(0);
}
});

cal = new Calculaor();

}

public void actionPerformed(ActionEvent e){
if(e.getSource()==b1){
s=s+"1";
text.setText(s);
}
if(e.getSource()==b2){
s=s+"2";
text.setText(s);
}
if(e.getSource()==b3){
s=s+"3";
text.setText(s);
}
if(e.getSource()==b4){
s=s+"4";
text.setText(s);
}
if(e.getSource()==b5){
s=s+"5";
text.setText(s);
}
if(e.getSource()==b6){
s=s+"6";
text.setText(s);
}
if(e.getSource()==b7){
s=s+"7";
text.setText(s);
}
if(e.getSource()==b8){
s=s+"8";
text.setText(s);
}
if(e.getSource()==b9){
s=s+"9";
text.setText(s);
}
if(e.getSource()==b0){
s=s+"0";
text.setText(s);
}
if(e.getSource()==bAdd){
a=Double.parseDouble

(text.getText());
sign="+";
//text.setText("");
s="";
}
if(e.getSource()==bSub){
a=Double.parseDouble

(text.getText());
sign="-";
//text.setText("");
s="";
}
if(e.getSource()==bMult){
a=Double.parseDouble

(text.getText());
sign="*";
//text.setText("");
s="";
}
if(e.getSource()==bDiv){
a=Double.parseDouble

(text.getText());
sign="/";
//text.setText("");
s="";
}

if(e.getSource()==bEqu){
b=Double.parseDouble

(text.getText());
if(sign.equals("+")){
result = cal.add(a,

b);
}else if(sign.equals("-")){
result =

cal.subtraction(a, b);
}else if(sign.equals("*")){
result =

cal.multiplication(a, b);
}else if(sign.equals("/")){
result =

cal.division(a, b);
}
text.setText(result+"");
}
if(e.getSource()==bC){
text.setText("");
sign="";
a=0;
b=0;
result=0;
s="";
}

}

}

/*
 * 描述:计算功能实现
 */
package cn.tx;

public class Calculaor {

public double add(double a,double b){
return a+b;
}
public double subtraction(double a,double b){
return a-b;
}
public double multiplication(double a,double b){
return a*b;
}
public double division(double a,double b){
return a/b;
}
}

/*

*描述:实现类

*/

package cn.tx;

public class TestMain {

public static void main(String[] args) {
// TODO Auto-generated method stub
CalculatorFrame f = new CalculatorFrame();
f.setSize(350,500);
f.setVisible(true);
}

}

java计算器程序代码相关推荐

  1. java计算器程序代码,图形化界面

    实现了加减乘除,平方立方开根号以及小数点运算,代码如下: package test1;import java.awt.*;import java.awt.event.WindowAdapter; im ...

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

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

  3. java编程计算器程序代码_即将步入大学的同学们注意了,初学编程,这些你需要认真铭记...

    初学者要看懂代码首先从要需求分析了解,然后是系统分析,最后是块的理解.看懂代码其实不难,大抵不过是选择,分支,循环.语法如果看不懂,那就需要补补基础,先弄清楚这段代码要做什么,有说明最好,可以帮助理解 ...

  4. java 用程序代码解释继承_关于初级java程序员笔试题

    关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...

  5. 简单java小程序代码_求简单的JAVA小程序的源代码

    展开全部 <Java就业培训教程>P34源码 程序清单:Promote.java class Promote { public static void main(String args[] ...

  6. java编程计算器程序代码_34 个送给 Java 程序员的练手项目合集

    人类一生中,99% 的技能都是靠实践学来的,编程更是如此. 在这一点上,编程和打篮球很像:你得亲自上场去打,才能学会篮球:同样,亲手敲下代码,才能真正学会「编程」.太多人看完一本书.几个 G 的视频后 ...

  7. 计算器的程序代码java_求用JAVA编写的计算器程序代码

    展开全部 import java.awt.*;//引入包java.awt中所有的类 import java.awt.event.*;//引入包java.awt.event中所有的类. public c ...

  8. java holdslock_一种检测Java并发程序代码分支路径lock是否遗漏的方法

    开发java程序中,程序员往往会用synchronized lock 进行临界资源保护和线程同步:android平台上,提供了一些技巧来减少锁被错误使用:使用Locked后缀作为函数名字:Locked ...

  9. java代码实现画板_求好心人帮找或做个JAVA画板程序 代码,主要能实现简单的画板功能!...

    展开全部 取个叫pb.java的文件拷贝进去(pb类为main入口),直接运行 --e68a843231313335323631343130323136353331333236376538------ ...

最新文章

  1. 在线机房改造类项目建设难点的研究
  2. M2Crypto/__m2crypto.so: undefined symbol: SSLv3_method
  3. 万字总结:开源软件通识基础课第三周知识点总结
  4. 瑞晟蓝牙来电语音软件下载_拥有无数功能的工具箱软件
  5. android 开发 gradle 自己会容易混淆的东西
  6. java bufferedwriter 写入tab_Java-IO流
  7. ASP.NET MVC . Controller
  8. Android 7.1关机充电流程
  9. 190421每日一句
  10. 知行之桥®中文版EDI系统正式发布
  11. CleanMyMac最新2020注册机
  12. CRT连接虚拟机乱码解决方法
  13. Matlab中将横纵坐标改为自定义标签(set(gca,xtick)set(gca,xticklabel))
  14. PL/SQL 工具远程连接Oracle数据库方法,plsql免安装oracle客户端直接配置oci实战演示
  15. Mac上最好用的LaTeX编辑器:Texpad for Mac
  16. 基于PHP+MySQL汽车查询系统的设计与实现
  17. 【科研】浅学Cross-attention?
  18. oracle备份数据库dmp定时,SCO Unix系统下定时备份Oracle数据库dmp文件的设置
  19. 1.1 Android 系统概述_智能手机系统介绍
  20. c语言报名入口,考试报名入口

热门文章

  1. 前端艺术之毛玻璃-倾斜-日历
  2. 深度细节 | Go 的 panic 秘密都在这
  3. 公司、分公司、子公司、有限公司、企业、个体户的区别!
  4. android 仿阅读,发布一个练笔的 Android 阅读器,轻微仿91 Android 阅读器【后续将提供源码】...
  5. HQChart使用教程68 - 配置DRAWTEXT, DRAWICON, DRAWNUMBER字体大小
  6. 一次搞懂延迟任务及十种延迟任务的实现方式
  7. 数据可视化 - 柱状图 - xy轴自定义名称
  8. 防作弊-页面失焦与禁键
  9. C#语句1:选择语句一(if else )
  10. 一分钟对我们的重要意义