ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:17.34KB ,
资源ID:13107263      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13107263.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java编写计算器的几种常见的做法.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Java编写计算器的几种常见的做法.docx

1、Java编写计算器的几种常见的做法Java编写计算器的几种常见的做法.txt9母爱是一滴甘露,亲吻干涸的泥土,它用细雨的温情,用钻石的坚毅,期待着闪着碎光的泥土的肥沃;母爱不是人生中的一个凝固点,而是一条流动的河,这条河造就了我们生命中美丽的情感之景。import java.awt.*;import java.awt.event.*;public class MyCalculator private Frame f; private TextField tf = new TextField(30); private long result; private boolean append=fal

2、se; private char operator=; private Button btn=new Button15; public MyCalculator() initComponent(); private void initComponent() f = new Frame(My Calculator V1.0); f.setLayout(new BorderLayout(); /The frame uses BorderLayout f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEve

3、nt evt) System.exit(0); ); Panel centerPanel = new Panel(); centerPanel.setLayout(new GridLayout(5, 3); /The panel uses GridLayout NumberListener nl=new NumberListener(); OperatorListener ol=new OperatorListener(); btn10=new Button(+); btn11=new Button(-); btn12=new Button(*); btn13=new Button(/); b

4、tn14=new Button(=); for (int i=0;i=9;i+) btni=new Button(String.valueOf(i); centerPanel.add(btni); btni.addActionListener(nl); if (i%2=1) centerPanel.add(btn(i+19)/2); btn(i+19)/2.addActionListener(ol); f.add(centerPanel, BorderLayout.CENTER); Panel northPanel = new Panel(); tf.setEditable(false); n

5、orthPanel.add(tf); f.add(northPanel, BorderLayout.NORTH); public void go() f.pack(); f.setVisible(true); public static void main(String args) new MyCalculator().go(); /* *采用成员内部类方式,实现监听器接口,方便访问主类内类内部成员。 *此类负责数字按钮Action事件监听和处理 */ class NumberListener implements ActionListener public void actionPerfor

6、med(ActionEvent e) if (!append) tf.setText(); append=true; String s=tf.getText(); s+=e.getActionCommand(); tf.setText(s); if (!btn10.isEnabled() for(int i=10;i=14;i+) btni.setEnabled(true); /* * 成员内部类,负责操作符按钮的事件处理 */ class OperatorListener implements ActionListener public void actionPerformed(Action

7、Event e) if (!append) return; for(int i=10;i=14;i+) btni.setEnabled(false); String s=tf.getText(); long num=Long.parseLong(s);/get the number of textfield append=false; /set append switch(operator) case +:result+=num;break; case -:result-=num;break; case *:result*=num;break; case /: if (num=0) resul

8、t=0; else result/=num; break; case =:result=num;break; tf.setText(String.valueOf(result); /set the value of result to textfield String op=e.getActionCommand(); operator=op.charAt(0); / set operator 方法2:package wanwa;import java.util.*; public class calc public static void main(String args) Scanner i

9、nput = new Scanner(System.in); System.out.println(*简易计算器*); System.out.println(*ttttt*); System.out.println(* 使用说明: 1.加法 2.减法 3.乘法 4.除法 *); System.out.println(*ttttt*); System.out.println(*); for(int i=0;i 0) displayField.setText(str.substring(0, str.length() - 1); else if (input.equals(CE) | input.

10、equals(C) displayField.setText(0); start = true; else displayField.setText(displayField.getText() + input); private class CommandAction implements ActionListener public void actionPerformed(ActionEvent evt) String command = evt.getActionCommand(); if (start) lastCommand = command; else calculate(Dou

11、ble.parseDouble(displayField.getText(); lastCommand = command; start = true; public void calculate(double x) if (lastCommand.equals(+) result += x; else if (lastCommand.equals(-) result -= x; else if (lastCommand.equals(*) result *= x; else if (lastCommand.equals(/) result /= x; else if (lastCommand

12、.equals(=) result = x; displayField.setText( + result); public static void main(String args) Calculator calculator = new Calculator(); calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 第四种写法:package wanwa;import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calcula

13、tor extends JFrame private Container container; private GridBagLayout layout; private GridBagConstraints constraints; private JTextField displayField;/ 计算结果显示区 private String lastCommand;/ 保存+,-,*,/,=命令 private double result;/ 保存计算结果 private boolean start;/ 判断是否为数字的开始 public Calculator() super(Calcu

14、lator); container = getContentPane(); layout = new GridBagLayout(); container.setLayout(layout); constraints = new GridBagConstraints(); start = true; result = 0; lastCommand = =; displayField = new JTextField(20); displayField.setHorizontalAlignment(JTextField.RIGHT); constraints.gridx = 0; constra

15、ints.gridy = 0; constraints.gridwidth = 4; constraints.gridheight = 1; constraints.fill = GridBagConstraints.BOTH; constraints.weightx = 100; constraints.weighty = 100; layout.setConstraints(displayField, constraints); container.add(displayField); ActionListener insert = new InsertAction(); ActionLi

16、stener command = new CommandAction(); / addButton(Backspace, 0, 1, 2, 1, insert); / addButton(CE, 2, 1, 1, 1, insert); / addButton(C, 3, 1, 1, 1, insert); addButton(7, 0, 2, 1, 1, insert); addButton(8, 1, 2, 1, 1, insert); addButton(9, 2, 2, 1, 1, insert); addButton(/, 3, 2, 1, 1, command); addButton(4, 0, 3, 1, 1, insert); addButton(5, 1, 3, 1, 1, insert); addButton(6, 2, 3, 1,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2