版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/开发者:/简介:实现四则运算的简易计算器/ /*用swing图形用户界面实现计算器的设计*同时练习在线文档注释的使用方法* author linruier* version 1.0* since J2SE1.8*/import javax.swing.JButton;import java.awt.Graphics;import java.awt.FlowLayout;import javax.swing.JFrame;import javax.swing.JTextField;import java.awt.Color;import java.awt.Container;import ja
2、va.awt.Dimension;import javax.swing.JPanel;import java.awt.Font;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class computer extends JFrame computer() super(简易计算器); Font f = new Font(黑体, 30, 30); JTextField jt1 = new JTextField(null); JTextField jt2 = new JTextField(n
3、ull); jt1.setFont(f); jt2.setFont(f); jt1.setHorizontalAlignment(JTextField.RIGHT); jt2.setHorizontalAlignment(JTextField.RIGHT); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5); c.add(jt1); c.add(jt2); jt1.setPreferredSize(new Dimension(370, 70); jt2.setPreferredSi
4、ze(new Dimension(370, 75); jt1.setEditable(false); jt2.setEditable(false); JButton jb = new JButton16; for (int j = 0; j 16; j+) jbj = new JButton(); jbj.setBackground(Color.WHITE); jbj.setFocusable(false); jbj.setPreferredSize(new Dimension(90, 90); jbj.setFont(f); c.add(jbj); this.setResizable(fal
5、se); /对各个按钮的名称赋值 jb0.setText(+); jb1.setText(-); jb2.setText(*); jb3.setText(/); jb4.setText(1); jb5.setText(2); jb6.setText(3); jb7.setText(C); jb7.setBackground(Color.ORANGE); jb8.setText(4); jb9.setText(5); jb10.setText(6); jb11.setText(0); jb12.setText(7); jb13.setText(8); jb14.setText(9); jb15.
6、setText(=); JButton Button_num = jb4, jb5, jb6, jb8, jb9, jb10, jb11, jb12, jb13, jb14 ; for (int i = 0; i Button_num.length; i+) Button_numi.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JButton action_Button = (JButton) e.getSource(); jt2.setText(jt2.getText() +
7、 action_Button.getText(); ); for (int j = 0; j 4; j+) jbj.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String s = jt2.getText(); char ch = s.charAt(s.length() - 1); if (ch = + | ch = - | ch = * | ch = /)(JButton) e.getSource().setEnabled(false); else jt1.setText(
8、jt2.getText(); jt2.setText(JButton) e.getSource().getText(); ); jb7.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) jt1.setText(null); jt2.setText(null); ); jb15.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) try String Calculate_S
9、tring = jt1.getText() + jt2.getText(); int result = calculation.result(Calculate_String); jt1.setText(null); jt2.setText(Integer.toString(result); catch(ArithmeticException ex) jt1.setText(null); jt2.setText(ERROR); ); public static void main(String args) computer app = new computer(); app.setDefaul
10、tCloseOperation(JFrame.EXIT_ON_CLOSE); app.setSize(400, 580); app.setVisible(true); /再定义一个计算类calculation.java:public class calculation calculation() ; boolean is_operator(char ch) if (ch = + | ch = - | ch = * | ch = /) return true; else return false; static int result(String s) String ch = +, -, *,
11、/ ; int i = 0; int index; while (s.indexOf(chi) = -1 & i 4) i+; if (i = 4) return - 1; else index = s.indexOf(chi); String s1 = s.substring(0, index); String s2 = s.substring(index + 1, s.length(); if (i = 0) return Integer.parseInt(s1) + Integer.parseInt(s2); if (i = 1) return Integer.parseInt(s1) - Integer.parseInt(s2); if (i = 2) return Integer.parseInt(s1) * Integer.parseInt(s2);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年湖南省湘教版高二体育技能专项训练习题
- 2025-2026年生物多样性保护与生态系统服务功能模拟试题
- 2025-2026年黑龙江省人教版七年级生物下册第5课生物进化练习题
- 2025-2026年广东省人教版八年级物理第4课力与运动关系测试卷
- 2026新学期高中生合理膳食与体重管理课件:吃动平衡健康体重
- 2026新学期儿童青少年体重管理与健康饮食课件:学生营养与健康成长
- 高中政治选必一《当代国际政治与经济》单元整体教学设计:多极化演进与中国全球治理方案
- 小学五年级英语教案-Unit 3 Part C荣恒随堂贴预习
- Unit 4 Life is beautiful 单词教学设计-2026-2027学年译林版英语九年级上册
- 初中七年级班主任开学第一课教学设计:从浪浪山到星辰大海的成长跃迁
- 巨人通力电梯NOVA GKE调试说明书故障代码GPN15 GVN15-GKE - 51668093D01-2022
- FZ∕T 61002-2019 化纤仿毛毛毯
- 门式脚手架搭设方案(2篇)
- 《直流工程深井接地极技术导则》(V1)
- CJJ-T 135-2009 (2023年版) 透水水泥混凝土路面技术规程
- 居住区环境调研报告
- C++语言程序设计-清华大学-郑莉
- GA/T 1992-2022公安监管场所安全防范与信息管理系统技术要求
- 《热学》(李椿-章立源-高教版)-课后答案
- 理气葬法-赖布衣著
- 社会保险信息登记表
评论
0/150
提交评论