共回答了9个问题采纳率:100%

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.math.BigDecimal;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class TestCalc implements ActionListener {

JFrame jf = new JFrame("计算器");

JPanel jp = new JPanel();

JTextField jtf = new JTextField("0.",200);

JButton[] jb = new JButton[20];

private int tag = 0;

private double a;

private double b;

private String operator;

StringBuilder sb1 = new StringBuilder();

StringBuilder sb2 = new StringBuilder();

public TestCalc() {

jf.add(jtf,BorderLayout.NORTH);

// jtf.requestFocus();

jtf.setEditable(false);

jtf.setCaretPosition(jtf.getText().length() - 1);

jf.add(jp);

jp.setLayout(new GridLayout(5,4,4,4));

String[] str = { "Back","CE","C","+","7","8","9","-","4","5",

"6","*","1","2","3","/","0","+/-",".","=" };

int i = 0;

for (i = 0; i < str.length; i++) {

jb[i] = new JButton(str[i]);

jp.add(jb[i]);

jb[i].addActionListener(this);

}

jf.setSize(300,240);

// jf.setLocation(300,200);

jf.setLocationRelativeTo(null);

jf.setVisible(true);

// jf.pack();//自动调整大小;

jf.setResizable(false);// 不允许别人调大小;

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

TestCalc tc = new TestCalc();

}

public void actionPerformed(ActionEvent e) {

String command = e.getActionCommand();

if (command.matches("^[[0-9].]$")) {

if (tag == 0) {

sb1.append(command);

jtf.setText(sb1.substring(0));

} else {

sb2.append(command);

jtf.setText(sb2.substring(0));

}

} else if (command.matches("^[-/*+]$")) {

tag = 1;

operator = command;

} else {

if (command.matches("=")) {

String str1 = sb1.substring(0);

String str2 = sb2.substring(0);

if (str1 == null) {

a = 0.0;

} else {

a = Double.parseDouble(str1);

}

if (str2 == null) {

b = 0.0;

} else {

b = Double.parseDouble(str2);

}

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

jtf.setText("" + (a + b));

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

BigDecimal bd1 = new BigDecimal(Double.toString(a)); // 必须使用String做参数才可以精确运算

BigDecimal bd2 = new BigDecimal(Double.toString(b));

Double yu1 = bd1.subtract(bd2).doubleValue();

jtf.setText("" + (yu1));

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

jtf.setText("" + (a * b));

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

BigDecimal bd1 = new BigDecimal(Double.toString(a)); // 必须使用String做参数才可以精确运算

BigDecimal bd2 = new BigDecimal(Double.toString(b));

Double yu1 = bd1.divide(bd2).doubleValue();

jtf.setText("" + yu1);

}

tag = 0;

sb1.delete(0,sb1.length());

sb2.delete(0,sb2.length());

} else if (command.matches("C")) {

tag = 0;

sb1.delete(0,sb1.length());

sb2.delete(0,sb2.length());

jtf.setText("0.");

jtf.setCaretPosition(jtf.getText().length() - 1);

} else if (command.matches("CE")) {

tag = 0;

sb2.delete(0,sb2.length());

jtf.setText(sb1.substring(0));

} else if (command.matches("Back")) {//Back功能键的实现;

if (tag == 0) {

sb1.deleteCharAt(sb1.length() - 1);

jtf.setText(sb1.substring(0));

} else {

sb2.deleteCharAt(sb2.length() - 1);

jtf.setText(sb2.substring(0));

}

} else if (command.matches("\+/-")) {

if (tag == 0) {

if(sb1.substring(0,1).equals("-")){

sb1.replace(0,1,"+");

}else{

sb1.insert(0,"-");

}

jtf.setText(sb1.substring(0));

} else {

if(sb2.substring(0,1).equals("-")){

sb2.replace(0,1,"+");

}else{

sb2.insert(0,"-");

}

jtf.setText(sb2.substring(0));

}

}else {

}

}

}

}

1年前

5

乘方负数怎么算用计算机,计算器如何算负数乘方相关推荐

  1. 苹果手机怎么用计算机算三角函数,手机计算器怎么算三角函数值

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 点击手机桌面上的"计算机",将手机横过来,输入需要计算的三角函数,点击[=]符号即可算出. 计算器是现代人发明 ...

  2. 电闹上赠么使用计算机,计算器怎么算n次方 怎么用电脑计算器算次方

    计算器怎么算n次方怎么用电脑计算器算次方 当n为较大可因数分解x*y时,可分两步算a^n=a^(x*y)=(a^x)^y 设A的相邻数为A+1和A-1,则他们的三次方可以用一个三维立体图形形象地表示, ...

  3. 用计算机KADIO算方差,KADIO计算器怎样算方差

    满意答案 akcek502375 2013.06.18 采纳率:45%    等级:12 已帮助:4113人 1. 因为f(x)在x 2.如上所述,f(x)在[a,b]可导就一定有f(x)在[a,b] ...

  4. 用计算机计算下列各式 11x,用计算器计算有理数的乘方教学设计实例

    <用计算器进行数的简单运算>教学设计 教学目的 1. 使学生能够使用A型,B型,C型计算器,进行有理数的加,减,乘,除,乘方运算,并能运用计算器进行较复杂的有理数的混合运算. 2. 初步体 ...

  5. 怎么用计算机算出出生日期,算农历出生日期计算器,根据出生日期怎么算年龄?...

    提起算农历出生日期计算器,大家都知道,有人问根据阴历日期和出生时间算阳历,另外,还有人想问农历虚岁计算器 农历虚岁怎么算,你知道这是怎么回事?其实农历生日如何算,下面就一起来看看根据出生日期怎么算年龄 ...

  6. 科学计算机算余切,科学计算机在线算(科学计算器如何算正态分布)

    科学计算器开根号怎么算的? 计算器-查看-科学型被开方数-INV打勾(在计算器的第5行左侧)-x^2,这是开平方.若点x^3则是开立方.若点x^y-4就是开4次方. 下列那个属于计算机科学计算(在线等 ...

  7. 怎么用计算机算三角函数值,手机计算器怎么算三角函数值

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 点击手机桌面上的"计算机",将手机横过来,输入需要计算的三角函数,点击[=]符号即可算出. 计算器是现代人发明 ...

  8. 乘100%用计算机怎么算,干货 | 数学计算器使用操作步骤

    原标题:干货 | 数学计算器使用操作步骤 文/庞天原 郑州新东方学校 今天给大家介绍如何在数学学科类考试中正确使用图形计算器. 我使用的计算器型号是TI-84,好像很多考生使用的也是这个. 如果有考生 ...

  9. 千分之三用计算机怎么算,浓度换算计算器(浓度单位换算器在线使用)

    基本公式:c=1000ρω/m 式中:c-----物质的量浓度 单位mol/l1000------1000毫升 单位ml ρ------密度 单位 g/ml ω----质量分数 % m------溶质 ...

最新文章

  1. 认识计算机系统反思,《认识计算机系统》教学反思
  2. Telent 远程登录服务
  3. MB1A MB1B MB1C MB11 MIGO的区别解析
  4. 【收藏】cgroup的简单使用
  5. npm knowledge basics
  6. 回文串判断(string类:反转reverse)
  7. HTML5新增表单属性(HTML5)
  8. c++股票数据接口逻辑是什么
  9. jclasslib插件_JClassLib
  10. 错误集--创建消息队列用户,用于controler和node节点连接rabbitmq的认证
  11. matlab中princ,基于MATLAB_SIMLINK的Turbo交织器的仿真实现
  12. 数据科学数据清理和可视化,适合使用python的初学者
  13. JavaScript SheetJS将 Html 表转换为 Excel 文件
  14. 小马的白痴日常2019.12.20
  15. [NOI 1997] 积木游戏(dp)
  16. ZooKeeper audit is enabled. Exiting JVM with code 4
  17. 某电子订单系统升级步骤
  18. 【继承系列】JS中的组合继承
  19. global mapper裁剪DEM文件的方法
  20. 2020年“信创”火了!一文看懂什么是信创

热门文章

  1. 通用标签设计(基于Flexcell)
  2. 怎么在itouch中使用epub格式的电子书
  3. 实验篇(7.2) 03. 部署物理实验环境(下)❀ 远程访问
  4. My Andoid Tool 微信禁用方案记录
  5. C# 数组增加元素_【自学C#】|| 笔记 21 集合续,队列和堆栈
  6. EDA大作业——交通灯
  7. PS_BaseUse_两张图片置入融合
  8. java中的compareto方法
  9. CenterNet:Keypoint Triplets for Object Detection(中文版)
  10. C#中String转int问题