java程序设计计算器论文

上传人:飞*** 文档编号:30960198 上传时间:2018-02-03 格式:DOC 页数:19 大小:295.50KB
返回 下载 相关 举报
java程序设计计算器论文_第1页
第1页 / 共19页
java程序设计计算器论文_第2页
第2页 / 共19页
java程序设计计算器论文_第3页
第3页 / 共19页
java程序设计计算器论文_第4页
第4页 / 共19页
java程序设计计算器论文_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《java程序设计计算器论文》由会员分享,可在线阅读,更多相关《java程序设计计算器论文(19页珍藏版)》请在金锄头文库上搜索。

1、本 科 学 年 论 文论文题目: java 计算器图形界面设计 院 系: 信息科学与技术 专 业: 计算机 姓 名: 学 号: 指导教师: 撰写学年: 2009 至 2010 学年 二零一零年六月目录中文摘要第一章 标准计算器概述1.1 设计目的1.2 功能模块设计1.3 系统功能图 第二章 标准计算器设计与实现2.1 Java 技术概述2.2 Java 主要特点2.3 图形界面设计方法2.4 标准计算器界面2.5 JAVA 计算器的具体实现代码程序设计过程中的问题参考文献中文摘要本计算器是由 java 语言所编程设计的标准计算器,可以进行十进制下的四则运算(加、减、乘、除) 、开根号、百分号

2、、求倒数,还可以实现数值的符号转换操作。 ,Backspace 表示退格, CE 表示将当前文本框内数据清除,C 表示文本框内数据清除。此外还提供了“编辑” 、 “查看” 、 “帮助”三个菜单项,使用者可通过使用菜单项实现复制、粘贴功能。界面类似 windows 自带计算器界面。关键词: java 语言;计算器;标准 第一章 标准计算器概述1.1 设计目的图形界面设计,熟悉 java.awt 包中的组件,掌握图形界面设计方法,理解委托事件处理模型。从而检测对这门课的掌握情况,有助于及时查漏补缺。1.2 功能模块设计 标准计算器以下为标准计算器的基本功能:(1)加法 两个数据进行加操作,可以为小

3、数。(2)减法两个数据进行减操作,可以为负数相减。(3)乘法两个数相乘操作。(4)除法两个数相除操作。(5)开平方对任意一个数进行开方运算,可以是小数。(6)百分号对任意一个数进行百分号运算。(7)倒数对任意一个数进行倒数运算。1.3 系统功能图第二章 标准计算器设计与实现标准计算器加法运算减法运算乘法运算除法运算开平方运算百分号运算倒数运算2.1 标准计算器界面2.2 界面设计代码计算器的界面由一个菜单栏 一个文本框及 27 个按钮组成,具体实现代码如下所示:MenuBar myB=new MenuBar();setMenuBar(myB);Menu m1=new Menu(编辑(E);Me

4、nuItem m11= new MenuItem(复制(C) Ctrl+C);m11.addActionListener(this);m1.add(m11);MenuItem m12=new MenuItem(粘贴(P) Ctrl+V);m12.addActionListener(this);m1.add(m12);myB.add(m1);Menu m2=new Menu(查看(V);m2.add(new MenuItem(标准型(T);m2.add(new MenuItem(科学型(S);m2.addSeparator();m2.add(new MenuItem(数字分组(I);m2.add

5、ActionListener(this);myB.add(m2);Menu m3=new Menu(帮助(H);MenuItem m31=new MenuItem(帮助主题(H);m31.addActionListener(this);m3.add(m31);m3.addSeparator();MenuItem m32=new MenuItem(关于计算器(A);m32.addActionListener(this);m3.add(m32);myB.add(m3);/JPanel pa1=new JPanel();pa1.setBackground(new Color(236,231,210)

6、;text=new JTextField(0.,31);pa1.add(North,text);/面板添加和按钮的设置JPanel pa=new JPanel();JPanel pa2=new JPanel();JButton bt1=new JButton(Backspace);JButton bt2=new JButton(CE);JButton bt3=new JButton(C);bt1.addActionListener(this);bt2.addActionListener(this);bt3.addActionListener(this);pa2.add(bt1);pa2.add

7、(bt2);pa2.add(bt3);pa.setLayout(new BorderLayout();pa.add(pa2,North);JPanel p1=new JPanel();p1.setLayout(new GridLayout(4,1,2,5);JButton bt4=new JButton(MC);JButton bt5=new JButton(MR);JButton bt6=new JButton(MS);JButton bt7=new JButton(M+);p1.add(bt4);p1.add(bt5);p1.add(bt6);p1.add(bt7);pa.add(p1,W

8、est);JPanel p = new JPanel();p.setLayout(new GridLayout(4, 5,2,5);String buttons = 7,8,9,/,sqrt,4,5,6,*,%,1,2,3,-,1/x,0,.,=,+,+/-;JButton btn=new JButtonbuttons.length;for (int i = 0; i = 0 & s1.charAt(i) = 9 | s1.charAt(i) = . |s1.charAt(i) = -) isNumber = false; break;if (isNumber = true) /如果当前字符串

9、首字母有-号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) = -) text.setText();for (int i = 1; i s1.length(); i+) char a = s1.charAt(i);text.setText(text.getText() + a);/如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsetext.setText(- + s); /计算器有关内存操作/MC的操作,将内存清 0elseif (s = MC & clickable = true) memoryd = memoryi = 0;textMemory.

10、setText();/MS的操作,将当前文本框内容保存入内存,显示Melseif (s = MS & clickable = true) boolean isDot = false;textMemory.setText( M);for (int i = 0; i text.getText().length(); i+)if (. = text.getText().charAt(i) isDot = true;break;/如果是 double,则存入 memoryd(double 存储器)if (isDot = true) memoryd = Double.parseDouble(text.g

11、etText();memoryi = 0; /保证存储器中存放最新的值/如果是 int,则存入 memoryi(int 存储器)else memoryi = Integer.parseInt(text.getText();memoryd = 0; /保证存储器中存放最新的值 /MR的操作,将存储器中的信息输出elseif (s = MR & clickable = true) if (memoryd != 0)text.setText(Double.toString(memoryd);if (memoryi != 0)text.setText(Integer.toString(memoryi)

12、;/M+的功能,将当前文本框里的数据和存储器中数据相加后,再存入存储器elseif (s = M+ & clickable = true) boolean isDot = false;for (int i = 0; i text.getText().length(); i+)if (. = text.getText().charAt(i) isDot = true;break;if (memoryi != 0) /存储中是一个 int 型数if (isDot = false) /被加数是一个 int 型数memoryi += Integer.parseInt(text.getText();el

13、se /被加数是一个 double 型数,则将 int 存储器中数传入double 存储器与当前数相加,int 存储器清零memoryd = memoryi + Double.parseDouble(text.getText();memoryi = 0;elsememoryd += Double.parseDouble(text.getText(); /按下复制菜单栏elseif (s.equals(复制(C) Ctrl+C) copy = text.getText();/按下粘贴菜单栏elseif (s .equals(粘贴(P) Ctrl+V) ) text.setText(copy);

14、/按下Backspace键,利用循环将当前字符串中的最后一个字母删除elseif (s.equals(Backspace) & clickable = true) String s1 = text.getText();text.setText();for (int i = 0; i s1.length() - 1; i+) char a = s1.charAt(i);text.setText(text.getText() + a);/* /按下帮助主题菜单栏if (s = 帮助主题(H) JOptionPane.showMessageDialog(panel, scrollHelp);*/elseif (0 = s.charAt(0) & s.charA

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号