- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java编写的计算器,用java编写计算器,java计算器源代码,java编写计算器界面,java编写简易计算器,java编写简单计算器,用java编写简单计算器,用java编写计算器界面,用java编写一个计算器,java编写计算器
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame implements ActionListener {
private JTextField text; // 显示计算结果的文本行
private char op; // 当前运算符
private double value; // 当前计算结果值
private boolean first; // 表示是否为数值的第1个数字
private boolean cal; // 是否为连续运算
boolean clickable; // 控制运算符是否可用
boolean isTrue; // 控制数字键是否可用
int sign; // 标志是什么原因导致异常
public Calculator() {
// TODO Auto-generated const ructor stub
super(计算器);
this.setSize(280, 210);
this.setLocation(300, 240);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
text = new JTextField(0., 30);
text.setHorizontalAlignment(JTextField.RIGHT); // 设置对齐方式,右对齐
text.setEditable(false); // 只能显示,不允许编辑
this.getContentPane().add(text, North);
JPanel panel = new JPanel(new GridLayout(5, 4, 5, 5));// 面板采用网格布局
this.getContentPane().add(panel);
String str[] = { sqrt, +/-, Backspace, C, 7, 8, 9, /,
4, 5, 6, *, 1, 2, 3, -, 0, ., =, + };
JButton buttons[] = new JButton[str.length];
for (int i = 0; i buttons.length; i++) {
buttons[i] = new JButton(str[i]);
panel.add(buttons[i]);
buttons[i].addActionListener(this); // 为按钮注册单击事件监听器
}
this.setVisible(true);
op = +;
value = 0.0d;
first = true;
clickable = false;
isTrue = true;
sign = 0;
}
public void display() // 将多个按钮中涉及到连续运算的相同的代码部分提出来单独作为一个方法
{
switch (op)// 当按下第二个运算符时,进行前一个运算符的运算
{
case +:
value += Double.parseDouble(text.getText());
break; // 转换成浮点数后运算
case -:
value -= Double.parseDouble(text.getText());
break;
case *:
value *= Double.parseDouble(text.getText());
break;
case /:
if (Double.parseDouble(text.getText()) == 0) {
this.sign = 1;
clickable = false;
isTrue = false;
throw new ArithmeticException();
} else
value /= Double.parseDouble(text.getText());
break;
}
}
public void actionPerformed(ActionEvent e) // 按钮单击的事件处理方法
{
String current = e.getActionCommand(); // 获取按钮标签
try {
if (current == C) // 清除
您可能关注的文档
- Hoey的语篇组织模式在教学实际中的应用.pdf
- HNF_4_在结直肠癌组织中的表达及临床意义.pdf
- HNS型三相分离器的应用.pdf
- Honeywell动态氧传感器的工作原理.pdf
- Hopfield型神经网络的稳定性_廖晓昕.pdf
- Hook技术及其在软件研发中的应用.pdf
- HPAM分子对多孔介质中残余油的作用机理.pdf
- HPLCMS法鉴定左氧氟沙星的降解产物.pdf
- HPLC法测定减肥胶囊中左旋肉碱的含量.pdf
- HPLC法测定二至丸中齐墩果酸的含量.pdf
- 第一章预处理细胞破碎06课件.pptx
- OrganicChemistry有机化学实验89课件.ppt
- 发酵过程控制技术食品生物技术61课件.pptx
- TraceISQ系列气质联用仪操作步骤操作步骤刘振龙36课.pptx
- 典型工作任务终冷洗苯工岗位28课件.pptx
- 第四章酸碱滴定法酸碱滴定法以酸碱反应为基础的滴定分析方法特.pptx
- 第五章反应设备的使用与维护31课件.ppt
- OrganicChemistry有机化学有机物表达式26课.pptx
- 发酵过程控制 技术-食品生物技术教学资源库 课程-1752703845876.pptx
- 第一节抗高血压药分为原发性高血压9095和继发性高血压46.ppt
文档评论(0)