总结:看看写的多漂亮啊

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. poj1698

    题解: 网络流 然后似乎反着做块? 代码: #include<cstdio> #include<cstring> #include<algorithm> #incl ...

  2. Windows消息队列(优先队列,结构体中放比较函数)

    Windows消息队列 消息队列是Windows系统的基础.对于每个进程,系统维护一个消息队列.如果在进程中有特定事件发生,如点击鼠标.文字改变等,系统将把这个消息加到队列当中.同时,如果队列不是空的 ...

  3. zoj 2966 Build The Electric System(最小生成树)

    Build The Electric System Time Limit: 2 Seconds      Memory Limit: 65536 KB In last winter, there wa ...

  4. Java静态绑定和动态绑定

    程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来.对java来说,绑定分为静态绑定和动态绑定:或者叫做前期绑定和后期绑定 静态绑定(早绑定 编译器绑定): 在程序执行前方法 ...

  5. zookeeper数据一致性与paxos算法

    数据一致性与paxos算法 据说Paxos算法的难理解与算法的知名度一样令人敬仰,所以我们先看如何保持数据的一致性,这里有个原则就是: 在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执 ...

  6. (二) ffmpeg filter学习--混音实现

    Audio 混音实现 从FFMPEG原生代码doc/examples/filtering_audio.c修改而来. ffmpeg版本信息 ffmpeg version N-82997-g557c0df ...

  7. python3之环境搭建以及基础语法

    早些时候,有一段时间吧,为了想免费下载网易云的收费音乐,也是翻了下python的教程的,语法方面没细致地去看,跟java.php.javascript这些都大同小异,也是面向对象的.那么,近期准备快速 ...

  8. [置顶] Isolation Forest算法原理详解

    本文只介绍原论文中的 Isolation Forest 孤立点检测算法的原理,实际的代码实现详解请参照我的另一篇博客:Isolation Forest算法实现详解. 或者读者可以到我的GitHub上去 ...

  9. 创建你的第一个Flutter应用程序

    前言 Flutter,Google推出的跨平台开发框架.就在前几天,Flutter的首个发布预览版(Release Preview 1)正式发布! 即将迎来Flutter 正式版(1.0).本篇将带你 ...

  10. Ubuntu连接手机步骤

    第一次使用adb之前,需要在home/.android里新建adb_usb.ini文件:0x1782. 注:adb已在安装系统后装好,手机要处于开机状态 查看设备命令: $ adb devices 正 ...