总结:看看写的多漂亮啊

package com.test4;

import java.awt.*;
import java.awt.event.*; import javax.swing.*; public class Test {
public static void main(String[] args) {
Calculator_Frame cf = new Calculator_Frame();
} } class Calculator_Frame extends JFrame implements ActionListener {
boolean readyNextNumber = true;
double number1 = 0;
double number2 = 0;
char op = '\0';
JLabel jl;
JPanel jp;
JButton jb_1, jb_2, jb_3, jb_4, jb_5, jb_6, jb_7, jb_8, jb_9, jb_0, jb_jia,
jb_jian, jb_cheng, jb_chu, jb_dian, jb_deng;
String str;
Calculator_Frame() {
jl = new JLabel("0.0", JLabel.RIGHT);
jl.setFont(new Font("Dialog", 1, 17));
jp = new JPanel(new GridLayout(4, 4));
jb_0 = new JButton("0");
jb_9 = new JButton("9");
jb_1 = new JButton("1");
jb_2 = new JButton("2");
jb_3 = new JButton("3");
jb_4 = new JButton("4");
jb_5 = new JButton("5");
jb_6 = new JButton("6");
jb_7 = new JButton("7");
jb_8 = new JButton("8");
jb_jia = new JButton("+");
jb_jian = new JButton("-");
jb_cheng = new JButton("*");
jb_chu = new JButton("/");
jb_deng = new JButton("=");
jb_dian = new JButton(".");
jb_0.addActionListener(this);
jb_1.addActionListener(this);
jb_2.addActionListener(this);
jb_3.addActionListener(this);
jb_4.addActionListener(this);
jb_5.addActionListener(this);
jb_6.addActionListener(this);
jb_7.addActionListener(this);
jb_8.addActionListener(this);
jb_9.addActionListener(this);
jb_jia.addActionListener(this);
jb_jian.addActionListener(this);
jb_cheng.addActionListener(this);
jb_chu.addActionListener(this);
jb_dian.addActionListener(this);
jb_deng.addActionListener(this); jp.add(jb_1);
jp.add(jb_2);
jp.add(jb_3);
jp.add(jb_jia);
jp.add(jb_4);
jp.add(jb_5);
jp.add(jb_6);
jp.add(jb_jian);
jp.add(jb_7);
jp.add(jb_8);
jp.add(jb_9);
jp.add(jb_cheng);
jp.add(jb_0);
jp.add(jb_dian);
jp.add(jb_deng);
jp.add(jb_chu);
this.add(jl, BorderLayout.NORTH);
this.add(jp, BorderLayout.CENTER);
this.setBounds(100, 10, 200, 300);
this.setDefaultCloseOperation(3);
this.setVisible(true); } public void actionPerformed(ActionEvent e) {
str = e.getActionCommand();// 获取按钮上的字符串 // 判断是否点击的数字
if (str.equals("0") || str.equals("1") || str.equals("2")
|| str.equals("3") || str.equals("4") || str.equals("5")
|| str.equals("6") || str.equals("7") || str.equals("8")
|| str.equals("9") || str.equals(".")) {
if (readyNextNumber) {// 判断是否想输入一个新数字
jl.setText(str);
readyNextNumber = false;
} else {
jl.setText(jl.getText() + str);// 把label上的字符串加上刚刚点击的字符串
}
// 判断是否点击的操作符
} else if (str.equals("+")) {
readyNextNumber = true; if(op == '\0'){
number1 = Double.parseDouble( jl.getText());
}else{
number2 = Double.parseDouble( jl.getText());
jl.setText(count()+"");
number1 = count();
} op = '+';
}else if(str.equals("-")){
readyNextNumber = true; if(op == '\0'){
number1 = Double.parseDouble( jl.getText());
}else{
number2 = Double.parseDouble( jl.getText());
jl.setText(count()+"");
number1 = count();
}
op = '-';
}else if(str.equals("*")){
readyNextNumber = true; if(op == '\0'){
number1 = Double.parseDouble( jl.getText());
}else{
number2 = Double.parseDouble( jl.getText());
jl.setText(count()+"");
number1 = count();
}
op = '*';
}else if(str.equals("/")){
readyNextNumber = true; if(op == '\0'){
number1 = Double.parseDouble( jl.getText());
}else{
number2 = Double.parseDouble( jl.getText());
jl.setText(count()+"");
number1 = count();
}
op = '/';
}else if(str.equals("=")){
readyNextNumber = true;
number2 = Double.parseDouble( jl.getText());
jl.setText(count()+"");
op = '\0';
}
} public double count(){
double result = 0;
switch (op) {
case '+':
result= number1 + number2;
break;
case '-':
result=number1 - number2;
break;
case '*':
result=number1 * number2;
break;
case '/':
result=number1 / number2;
break; default:
break;
}
return result;
} }

  

java代码---------陈勇老师的的更多相关文章

  1. java代码从键盘输入n的值,计算1+1/2+1/3+...+1/n的值,,

    总结:谢谢陈勇老师.很棒的指导.超有爱. 总是不思考++++如内存的分析.堆和栈.堆内存里对象,字符串,栈里基本数据类型 来龙去脉,属性方法的调用,都不是很理解.... package com.c2; ...

  2. java 代码

    java 里的 pandas tablesaw DataFrame 再有就是 spark 了 java 代码规范 Java8特性详解 lambda表达式 Stream Sonar 规则检测 sprin ...

  3. 01 Java 代码是怎么运行的

    Java代码运行的方式 1:在开发工具中运行 2:双击 jar 文件运行 3:在命令行中运行 4:在网页中运行 上述运行方式都离不开 JRE,也就是 Java 运行时环境.实际上 JRE 仅包含运行 ...

  4. 干货 | 10分钟带你彻底了解column generation(列生成)算法的原理附java代码

    OUTLINE 前言 预备知识预警 什么是column generation 相关概念科普 Cutting Stock Problem CG求解Cutting Stock Problem 列生成代码 ...

  5. JAVA代码规范 标签: java文档工作 2016-06-12 21:50 277人阅读 评论(5) 收藏

    开始做java的ITOO了,近期的工作内容就是按照代码规范来改自己负责的代码,之前做机房收费系统的时候,也是经常验收的,甚至于我们上次验收的时候,老师也去了.对于我们的代码规范,老师其实是很重视的,他 ...

  6. 对一致性Hash算法,Java代码实现的深入研究

    一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...

  7. 怎样编写高质量的java代码

    代码质量概述     怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍.也请有过代码质量相关经验的朋友 ...

  8. 数据结构笔记--二叉查找树概述以及java代码实现

    一些概念: 二叉查找树的重要性质:对于树中的每一个节点X,它的左子树任一节点的值均小于X,右子树上任意节点的值均大于X. 二叉查找树是java的TreeSet和TreeMap类实现的基础. 由于树的递 ...

  9. java代码的初始化过程研究

        刚刚在ITeye上看到一篇关于java代码初始化的文章,看到代码我试着推理了下结果,虽然是大学时代学的知识了,没想到还能做对.(看来自己大学时掌握的基础还算不错,(*^__^*) 嘻嘻……)但 ...

随机推荐

  1. 安装Fedora 21工作站后要做的10件事情

    教程]安装Fedora 21工作站后要做的10件事情 2015-01-07 13:32 CSDN CODE 作者CSDN CODE 1 755 FedoraGNOMELinux Fedora 21已经 ...

  2. iOS笔记之内存泄露

    非ARC中,对于被autorelease的对象,Leak工具也会视其为泄露,自己知道没问题就行. 今天遇到一个bug,App在XCode调试时没有问题,但在真机安装,退出,再进入时,会出现闪退. 用X ...

  3. kibana安装

    kibana,ELK中的K,主要为ES提供界面化操作,据说还是比较炫的,今天安装5.5.2版本进行尝试一把. 安装过程不难,简单的配置了一下端口和IP即可,难度不大. config下的kibana.y ...

  4. C++面向对象高级编程(三)基础篇

    技术在于交流.沟通,转载请注明出处并保持作品的完整性. 概要 一.拷贝构造 二.拷贝赋值 三.重写操作符 四.生命周期 本节主要介绍 Big Three 即析构函数,拷贝构造函数,赋值拷贝函数,前面主 ...

  5. LINUX系统下的数据库的管理

    环境:配置好IP和YUM源  一.数据库的安装及密码的修改 [1]yum  install  mariadb-server  -y       ##安装mariadb数据库 [2]systemctl  ...

  6. vue.js 源代码学习笔记 ----- instance render

    /* @flow */ import { warn, nextTick, toNumber, _toString, looseEqual, emptyObject, handleError, loos ...

  7. ADO Recordset 对象链接

    http://baike.baidu.com/link?url=4Xdc46R8M5uj-BbOGaH761N5oDEYlGQJFeR2WbPwx1iQBusAUKU3qbWcHZCMmayatj9n ...

  8. Vim技能修炼教程(13) - 变量

    VimScript变量 上节我们介绍了Python和Ruby来编写Vim插件的方式. 不过,Python和Ruby并不是所有的Vim都支持的功能,如果以最小依赖的原则来说,还是原汁原味的Vimscri ...

  9. 6LowPan 开发之开山篇

    本文参考: http://blog.csdn.net/xukai871105/article/details/9204101   1.基本概念   1) instant contikit    Ubu ...

  10. 我在ubuntu14.04安装使用的软件

    搜狗拼音sougoupinyin:sudo add-apt-repository ppa:fcitx-team/nightly && sudo apt-get updatesudo a ...