该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class MyCalculator extends JFrame implements ActionListener {

private String[] texts = {"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+","√"};

private JTextField display = new JTextField("0");

private JButton reset = new JButton("CE");

private JButton[] buttons = new JButton[texts.length];

public MyCalculator() {

super("计算器");

JPanel jpanel1 = new JPanel(new GridLayout(5,4));

for(int i = 0;i

buttons[i] = new JButton(texts[i]);

buttons[i].addActionListener(this);

jpanel1.add(buttons[i]);

}

reset.addActionListener(this);

JPanel jpanel2 = new JPanel(new BorderLayout());

jpanel2.add("Center",display);

jpanel2.add("East",reset);

this.getContentPane().setLayout(new BorderLayout());

this.getContentPane().add("North",jpanel2);

this.getContentPane().add("Center", jpanel1);

setSize(300,300);

setVisible(true);

}

//用户输入数字的处理

boolean isFirstDigit = true;

public void handleNumber(String key) {

if(isFirstDigit){

display.setText(key);

}else if(key.equals(".") && display.getText().indexOf(".") < 0) {

display.setText(display.getText() + ".");

}else if ( !key.equals(".")) {

display.setText(display.getText() + key);

}

isFirstDigit = false;

}

double number = 0.0;

String operator = "=";

//清空文本框

public void hanhleReset() {

display.setText("0");

operator = "=";

isFirstDigit = true;

}

//运算的处理

public void handleOperator(String key) {

if (operator.equals("+")) {

number += Double.valueOf(display.getText());

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

number -= Double.valueOf(display.getText());

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

number *= Double.valueOf(display.getText());

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

number *= Double.valueOf(display.getText());

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

number /= Double.valueOf(display.getText());

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

number = Double.valueOf(display.getText());

}

display.setText(String.valueOf(number));

operator = key;

isFirstDigit = true;

}

@Override

public void actionPerformed(ActionEvent e) {

Object target = e.getSource();

String label = e.getActionCommand();

if("0123456789.".indexOf(label) > 0) {

handleNumber (label);

} else if(target == reset) {

hanhleReset();

} else {

handleOperator(label);

}

}

public static void main (String[] args){

new MyCalculator();

}

}

java里面怎么开根号_新手求解呀!!!!!!!怎么开根号,为嘛我开不了相关推荐

  1. java画太极加图片_新手初学java 尝试编程绘画太极图

    我是个新手,对java理解还不深入,看了些java方面的基础视频,自己尝试着把中国的古老的太极图给画出来,经过一些思考和动手,终于把太极图给绘画出来. 记得以前某位高手也画过类似的太极图,不过当时自己 ...

  2. java基础代码怎么学_新手入门Java,如何能学好

    原标题:新手入门Java,如何能学好 零基础学生只要方法得当,完全可以掌握Java编程.下面总结出来的几点学习Java的方法,仅供大家参考. 01.理解Java思想 Java是一门面向对象编程语言.向 ...

  3. java初学者快捷施法_新手JAVA程序员学习随笔--快捷键(Mac)(一)

    1.常用命令 1.1查看端口占用情况命令 sudo lsof -i :9000(win:netstat -aon|findstr "1099") 冒号后面就是你需要查看的端口号.T ...

  4. java教务管理系统数据库设计_新手可以学习的教务管理系统详细设计(一)

    一.系统框架 设计流程 设计完成的工作台界面 系统部门角色和用户: 系统用户设置界面 二.学籍管理模块使用说明 学籍管理包含有四个基础信息的报表: (1)学生学籍档案表 其中数据项定义内容为: 学号自 ...

  5. java语言c语言基础_新手入门选什么:有些人说C语言要比Java更难!你应该怎么办?...

    从学习角度上说,很多人认为C语言单纯简单,其实比Java要容易. 我认为,如果要把本质学懂,确实如此,而且在学懂C语言的基础上再学Java的人往往会获得很好的效果. Java中由于隐藏了内存分配的处理 ...

  6. java牛顿法求方程根_快速求解方程的根——二分法与牛顿迭代法

    今天是周四高等数学专题的第7篇文章. 之前的文章和大家聊了许多数学上的理论,今天和大家聊点有用的东西. 我们都知道,工业上的很多问题经过抽象和建模之后,本质还是数学问题.而说到数学问题就离不开方程,在 ...

  7. java获取数组穷举_递归算法求解遍历(或穷举)问题

    递归算法求解遍历(或穷举)问题 递归问题可以理解为遍历问题,必须遍历出所有的数据来,才能进行相应的运算,比如Fibonacci问题.阶乘问题,必须把每一步的值都遍历出来,然后才能做加法或乘法. 递归算 ...

  8. JAVA中的request用法_新手入门:介绍JSP中request属性的用法

    一.request.getParameter() 和request.getAttribute() 区别 (1)request.getParameter()取得是通过容器的实现来取得通过类似post,g ...

  9. 普通计算机怎么算根号_「根号计算器」12、计算机如何实现开根号? - seo实验室...

    根号计算器 如何求一个数字的算术平方根(又叫开根号,或者开方)? 大家普遍都是用计算器直接计算的,对于程序员来说,就是调用sqrt()方法.但是其内部又是怎么实现的呢? 方法一:迭代法 学过计算方法的 ...

最新文章

  1. RocksDB线程局部缓存
  2. 前端模版引擎选择指南
  3. PS调出清新淡雅外景女生背影照
  4. Linux磁盘空间被占满?清空回收站试试!
  5. 13点建议顺利通过JAVA面试【转载】
  6. Java和.NET互操作:应该放弃Web Service吗
  7. LeetCode_database刷题记录(182. 查找重复的电子邮箱)
  8. 你最喜欢哪款游戏的界面风格,为什么?
  9. imindmap12新版本 思维导图软件
  10. HTML DOM Image 对象
  11. 思科/华为/Juniper探测技术
  12. vs2015安装msdn_visual studio 2015离线版msdn下载和安装图文教程
  13. 系统架构设计师与系统分析师历年实体分析与解答下载_软考 系统架构设计师备考经验分享...
  14. 油猴脚本使用方法与管理插件方法+开发插件与安装插件的方法
  15. 深圳 计算机网络与管理,深圳计算机网络管理员路由与交换班
  16. 酷睿i5 1235u参数 i5 1235u处理器怎么样
  17. spring quartz 实现全局任务
  18. ar涂涂乐 技术分析
  19. 性能优化之内存泄露(Memory Leak)常用分析工具(另3种)
  20. eclipse 设置全部的背景颜色

热门文章

  1. Can#39;t locate Tk.pm
  2. dalvik下替换so简单dump出梆梆加固保护的odex
  3. 【gym 101991 E】(ACPC 2018) E. Exciting Menus 题解
  4. 全网详解如何设计数据库的ER图,即实体关系图
  5. 前端可视化——Canvas
  6. 《漫画算法》读书笔记
  7. 资本资产定价模型(CAPM)与套利定价理论(API)比较
  8. Python出现 RuntimeError: dictionary changed size during iteration 的解决方法
  9. Vray材质学习笔记08——陶瓷材质
  10. “十问”彻底弄懂APS、ERP、MES的集成问题