总结:虽然,没有人会帮你到底,凭什么要对你怜香惜玉

注意实现哪一个运算就把相关代码放在else if这个判断语句里面

package com.rue;

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

//实现计算器的功能,我他妈的真是不懂变通。

class Ji extends JFrame implements ActionListener {

private static final String CE = null;

// 定义按钮

StringBuffer str = new StringBuffer();

JButton jb_0, jb_1, jb_2, jb_3, jb_4, jb_5, jb_6, jb_7, jb_8, jb_9, jb_jia,

jb_jian, jb_cheng, jb_chu, jb_dian, jb_deng, jb_delete;

JLabel jf;

double num1 = 0;

double num2 = 0;

char c = '\0';

double m;

boolean ready = true;

public Ji() {

JPanel jp = new JPanel(new GridLayout(5, 4));// 把所有的按钮组件和文本框放在这个panel里面

jf = new JLabel("0.0");

jf.setFont(new Font("", 1, 18));

jf.setHorizontalAlignment(JLabel.RIGHT);

jb_delete = new JButton("CE");// 设一个删除的按钮

jb_0 = new JButton("0");

JButton jb_genghao = new JButton("√");

jb_1 = new JButton("1");

jb_genghao.addActionListener(this);

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_9 = new JButton("9");

jb_jia = new JButton("+");

jb_jian = new JButton("-");

jb_cheng = new JButton("*");

jb_chu = new JButton("/");

jb_dian = new JButton(".");

jb_deng = new JButton("=");

//

jb_delete.addActionListener(this);

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);

JButton jb_Back = new JButton("Back");

jb_Back.addActionListener(this);

jp.add(jb_1);

jp.add(jb_2);

jp.add(jb_3);

jp.add(jb_4);

jp.add(jb_5);

jp.add(jb_6);

jp.add(jb_7);

jp.add(jb_8);

// this.add(jp);

jp.add(jb_9);

jp.add(jb_jia);

jp.add(jb_jian);

jp.add(jb_cheng);

jp.add(jb_chu);

jp.add(jb_dian);

jp.add(jb_deng);

jp.add(jb_0);

jp.add(jb_Back);

jp.add(jb_delete);

jp.add(jb_genghao);

this.add(jf, BorderLayout.NORTH);

this.add(jp);

// this.setLayout();

this.setVisible(true);

this.setBounds(100, 20, 230, 300);

this.setDefaultCloseOperation(3);

}

public double count() {

switch (c) {

case '+':

m = num1 + num2;

break;

case '-':

m = num1 - num2;

break;

case '*':

m = num1 * num2;

break;

case '/':

m = num1 / num2;

break;

case '√':

m = Math.sqrt(num1);

break;

case 'E':

m = '\0';

}

return m;

}

public void actionPerformed(ActionEvent e) {

String str = e.getActionCommand();

if (str.equals("0") || str.equals(".") || 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("1")) {

if (ready) {

jf.setText(str);

ready = false;

} else {

jf.setText(jf.getText() + str);

ready = false;

}

} else if (str.equals("+")) {

num1 = Double.parseDouble(jf.getText());

// count();

// 其实可以感觉到操作符有点不正常的。就是操作符设置的问题有点大

// if(num1=){}

c = '+';

ready = true;

} else if (str.equals("√")) {

num1 = Double.parseDouble(jf.getText());

c = '√';

ready = true;

} else if (str.equals("CE")) {

num1 = Double.parseDouble(jf.getText());

// c='c';//这里可以判断按的是哪一个按钮吗?

jf.setText("0.0");// 记住这里是要清空,但并不是把lable也全部删除看不见。Label的作用。

ready = true;// 当这里为false时,它会与0.0连接一起显示出来,此时设置我ture。它正常了。是不是继续执行下一步的意思呢?

} else if (str.equals("-")) {

num1 = Double.parseDouble(jf.getText());

c = '-';

ready = true;

} else if (str.equals("*")) {

num1 = Double.parseDouble(jf.getText());

c = '*';

ready = true;

} else if (str.equals("/")) {

num1 = Double.parseDouble(jf.getText());

c = '/';

ready = true;

} else if (str.equals("=")) {

num2 = Double.parseDouble(jf.getText());

jf.setText(count() + "");

ready = false;

}

}

}

public class Test {

public static void main(String[] args) {

new Ji();

}

}

矩形计算器java代码_java代码---------计算器实现相关推荐

  1. java全面的计算器代码_Java实现计算器的代码

    用java 实现的计算器,原理看代码注释,具体内容如下 public class mycalculator { public static void main(string[] args) { str ...

  2. java awt 简单计算器,JAVA Swing 开发简易计算器(上)

    开发一个简易的计算器我们主要分为两大部分:图形界面设计与具体功能实现.这篇文章讲图形界面设计,下篇讲具体功能实现. 代码下载:https://github.com/taifus/Java_Calcul ...

  3. java swing实现计算器,Java swing实现的计算器功能完整实例

    本文实例讲述了Java swing实现的计算器功能.分享给大家供大家参考,具体如下: package awtDemo; import java.awt.*; import java.awt.event ...

  4. java继承矩形例子代码_Java代码实现矩形覆盖实例

    Java代码实现矩形覆盖实例 题目 我们可以用2×1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2×1的小矩形无重叠地覆盖一个2×n的大矩形,总共有多少种方法? 程序核心思想 2*(n-1)的方块 ...

  5. java 计算器 小程序_java 学习 ——计算器小程序

    简易计算器小程序代码: package jisuanqi; //声明须要插入的包 import java.awt.*; import java.lang.Object; import java.lan ...

  6. 账单比较java代码_Java代码比较两个文件的MD5

    比较MD5就可以知道两个文件是否一样,那为什么要知道文件一不一样呢? 有时候开发的时候自己本地环境跑的功能一切正常,到了测试环境却不行了,那有可能是测试环境的文件没有部署到最新的. 怎么判断是否最新呢 ...

  7. word转换成pdf java代码_java代码实现word转换成pdf

    [实例简介] va代码 word转pdf ,word批量转换成pdf,word单独转换成pdf,只需要调用WordToPDFUtil方法就可以实现批量或者单独转换 [实例截图] [核心代码] e6f6 ...

  8. java代码优化_java代码之美(11)---java代码的优化

    java代码的优化 随着自己做开发时间的增长,越来越理解雷布斯说的: 敲代码要像写诗一样美.也能理解有一次面试官问我你对代码有洁癖吗? 一段好的代码会让人看就像诗一样,也像一个干净房间会让人看去很舒服 ...

  9. java代码_Java 代码实现排序算法

       阅读本文约需要8分钟  大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下SpringBoot+Gradle+ MyBa ...

最新文章

  1. python读取txt文件代码-python批量处理txt文件的实例代码
  2. 数据结构-顺序栈、链栈
  3. javascript读取xml文件读取节点数据的例子
  4. SQL Server 服务器硬件配置
  5. mac 没有java_maven在Mac OS X上没有使用Java
  6. Cisco路由器密码破解
  7. 《怪物猎人:世界》鼠标侧键点击无效的解决方法(罗技g402)
  8. 以接口请求的方式,解决移动端页面中字体文件过大的问题
  9. 鸿蒙系统底部任务栏无响应,win10底部任务栏无响应怎么办?win10底部任务栏无响应修复方法汇总...
  10. 智能穿戴及传感器调研
  11. while循环是否加分号
  12. 批量抓取羊毛网站信息,定时自动发送到邮箱进行阅览
  13. 如何用电脑画平面坐标图_如何画坐标图?
  14. 依图科技暑期实习生面试经验
  15. 复变函数知识点整理1-3
  16. FinalShell使用教程:SSH链接Linux服务器
  17. IEEEXTREME15.0 游记
  18. High-speed Charting Control(MFC绘图控件)--MFC绘图Demo(包含鼠标响应)
  19. 为什么很多企业都在使用短信群发?原来是有3大好处!
  20. vue的ref,mounted和this.$nextTick

热门文章

  1. 3D数学基础:图形与游戏开发
  2. 监控视频异常检测数据集整理
  3. matplotlib中ion()和ioff()的使用
  4. 【转载】线段树 区间合并 小结
  5. Mysql 分区(range,list,hash)转载
  6. 【转】oracle in和exists、not in和not exists原理和性能探究
  7. 20145122 《Java程序设计》第5周学习总结
  8. 转载:Windows Phone 7 资源汇总(超全)
  9. 商务部回应中兴被罚:坚决反对美国用国内法制裁中企
  10. 读书笔记 effctive c++ Item 20 优先使用按const-引用传递(by-reference-to-const)而不是按值传递(by value)...