总结:看看写的多漂亮啊

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. SpringXML方式配置bean的生存范围Scope

    在一个bean的配置里面可以指定一个属性Scope,也就是bean的范围,bean的生命周期. Scope可取的值5种:singleton(默认).prototype.request.session. ...

  2. form表单序列化之后追加字段

    方法是在{}中添加字段 key-value 一一对应,如下: var data = $.param({'state': state}) + '&' + $('#desProForm').ser ...

  3. mybatis分页查询

    方式1: select * from table order by id limit m, n; 该语句的意思为,查询m+n条记录,去掉前m条,返回后n条记录.无疑该查询能够实现分页功能,但是如果m的 ...

  4. 在初次安vs2008时设置的为C#现在怎么将其改为其他类型的界面

    如将C#改成C++, 工具 -> 导入和导出设置 -> 重置所有设置 -> 否,仅重置设置,从而覆盖我的当前设置 -> 重新选一个设置 -> 完成 选择完毕后,如新建MF ...

  5. (转) MapReduce Design Patterns(chapter 5 (part 1))(九)

    Chapter 5. Join Patterns 把数据保存成一个巨大的数据集不是很常见.例如,用户信息数据频繁更新,所以要保存到关系数据库中.于此同时,web日志以恒定的数据流量增加,直接写到HDF ...

  6. 7.翻转句子中单词的顺序[ReverseWordOrderInSentence]

    [题目] 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如输入“I am a student.”,则输出“stud ...

  7. HihoCoder1164 随机斐波那契(概率DP)

    描述 大家对斐波那契数列想必都很熟悉: a0 = 1, a1 = 1, ai = ai-1 + ai-2,(i > 1). 现在考虑如下生成的斐波那契数列: a0 = 1, ai = aj + ...

  8. BZOJ2763 JLOI2011 飞行路线 【最短路+DP】

    BZOJ2763 JLOI2011 飞行路线 Description Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n ...

  9. SpringMvc的上传和下载

    第一步:配置文件加入上传和下载的<bean>全部配置文件参考上上篇博文 <!-- 配置springMVC上传文件和下载文件 --> <bean id="mult ...

  10. CSU1632Repeated Substrings(后缀数组/最长公共前缀)

    题意就是求一个字符串的重复出现(出现次数>=2)的不同子串的个数. 标准解法是后缀数组.最长公共前缀的应用,对于样例aabaab,先将所有后缀排序: aab 3    aabaab 1    a ...