1、- 1 -秦皇岛职业技术学院JAVA计算器专 业: 信息系计算机应用 学生姓名:指导教师:完成时间:2019 年 5 月 21 日- 2 -摘要 .- 3 -第一章 概述 .- 4 -1.1 设计目的 .- 4 -1.2 计算器系统概述 .- 4 -1.2.1 Swing组件 .- 4 -1.2.2 AWT组件 .- 4 -1.3功能模块设计 .- 4 -1.4 系统功能图。 .- 4 -第二章 项目设计说明 .- 6 -2.1标准计算器设计界面 .- 6 -2.2标准计算器设计主要代码 .- 6 -2.2.1整体框架代码 .- 6 -2.2.2 菜单栏代码 .- 6 -2.2.3 文本框代码
2、 .- 7 -2.2.4 计算器各功能键代码 .- 7 -2.2.5 数字键及运算符号代码 .- 8 -第三章 程序运行效果 .- 10 -3.1加法运算 .- 10 -3.2减法运算 .- 10 -3.3乘法运算 .- 10 -3.4除法运算 .- 11 -3.5开方运算 .- 12 -3.6求倒数运算 .- 12 -第四章 项目重难点分析 .- 13 -4.1重难点分析 .- 13 -4.2程序中存在的问题 .- 13 -参考文献 .- 14 - 3 -摘要本文围绕 Java 编程语言在网络编程方面的具体应用,论述了使用面向对象方法,对计算器程序进行需求分析、概要设计、详细设计,最后使用
3、Java 编程实现的全过程。java 语言,是目前比较流行的编程语言。经过 10 多年的发展,java 已经渗透到全球每个角落。在当今这个网络的时代,java 语言在网络编程方面的优势使得网络编程有了更好的选择。Java 语言最令人瞩目的特点是具有跨平台性,使其不受平台不同的影响,并得到了广泛的应用。 设计内容:设计 GUI 界面的计算器。用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、除等混合运算。设计要求:1系统界面的上面是数字输入对话框,用来显示所输入的数字和运行的结果。2系统界面下面的左侧是记忆 + - * /。3. 系统界面下面的中部是数字输入按钮,用来输入数字。4系统界面下
4、面的右侧是运算符号按钮,用来实现具体的运算。 关键字:java 面向对象 计算器 网络编程- 4 -第一章 概述1.1 设计目的计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的功能。本论文采用 java 编程语言实现计算器功能。该计算器大大的降低了数字计算的难度并且提高了计算的准确度和精确度。使用简单,适合广大工作人员和中小学生使用。1.2 计算器系统概述标准计算器的界面采用“图形界面程序设计(GUI) ”。GUI 为用户和应用程序之间的交互提供了直观、方便的交流方式。用户使用鼠标、键盘操作图形界面上的按钮、菜单等元素湘计算机系统发送命令,系统运行的结果以图
5、形的方式显示给用户。编写 java 计算器主要使用了 Swing 组件和 AWT 布局类。Swing 组件主要包括按钮、标签、文本输入类、等组件,AWT 主要运用了其中的布局管理器。1.2.1 Swing组件Swing 组件的按钮用 JButton 类表示,计算器的界面主要由 JButton 按钮组成,以响应用户的操作;Swing 中的标签用 JLabel 类表示,标签上可以显示图标和文本;Swing 的文本输入类包括文本框 JTextField、文本区 JTextArea 和密码框JPasswordField。本计算器中仅仅使用了文本框 JTextField,用于文本数字的显示。1.2.2
6、AWT组件布局管理器管理组件如何放置在容器中,AWT 中最常用的四种布局类:FlowLayout、BorderLayout 、 GridLayout、CardLayout 。本项目主要采用了 GridLayout 布局。1.3功能模块设计标准计算器。以下是标准计算器的各项功能:(1)加法:两个及两个以上数据进行加法操作,可以为小数形式。(2)减法:两个及两个以上数据进行减法操作,可以为负数形式。(3)乘法:两个及两个以上数据进行乘法操作。(4)除法:两个及两个以上数据进行除法操作。(5)开平方:对任意数开平方,可以为小数(不能为负数) 。(6)求倒数:对任意数求倒数,0 除外。(7)求百分数:
7、对任意一个数进行百分号操作。1.4 系统功能图。- 5 -标准计算器求倒数开平方求百分号加法减法乘法除法图 1.1 计算器系统功能图- 6 -第二章 项目设计说明2.1标准计算器设计界面图 2.1 计算器设计界面2.2标准计算器设计主要代码标准计算器主要由一个菜单栏、一个文本框、27 个按钮组成。2.2.1整体框架代码JFrame f = new JFrame(“标准计算器“);f.setLocation(400, 300);Container contentPane = f.getContentPane();2.2.2 菜单栏代码图2.2 菜单栏JMenuBar mBar = new JMe
8、nuBar();mBar.setOpaque(true);mEdit = new JMenu(“编辑(E)“);mEdit.setMnemonic(KeyEvent.VK_E); mCopy = new JMenuItem(“复制(C)“);mEdit.add(mCopy);mPaste = new JMenuItem(“粘贴(P)“);mEdit.add(mPaste);mView = new JMenu(“查看(V)“);mView.setMnemonic(KeyEvent.VK_V); mView.add(new JMenuItem(“标准型“);mView.add(new JMenuI
9、tem(“科学型“);mView.addSeparator(); mView.add(new JMenuItem(“查看分组“);mHelp = new JMenu(“帮助(H)“);mHelp.setMnemonic(KeyEvent.VK_H); mHelp.add(new JMenuItem(“帮助主题“);- 7 -mHelp.addSeparator();mHelp.add(new JMenuItem(“关于计算器“);mBar.add(mEdit);mBar.add(mView);mBar.add(mHelp);f.setJMenuBar(mBar);contentPane.set
10、Layout(new BorderLayout();2.2.3 文本框代码图 2.3 文本框JPanel pTop = new JPanel(); tResult = new JTextField(“0.“,26);tResult.setHorizontalAlignment(JTextField.RIGHT); tResult.setEditable(false);pTop.add(tResult);contentPane.add(pTop,BorderLayout.NORTH);2.2.4 计算器各功能键代码图 2.4 各功能键图bOther = new JButton(“MC“);bOt
11、her.addActionListener(this);bOther.setForeground(Color.red); /字体颜色bOther.setMargin(new Insets(3,2,3,2);/按钮边框和标签之间的空白pLeft.add(bOther);bOther = new JButton(“MR“);bOther.addActionListener(this);bOther.setForeground(Color.red);bOther.setMargin(new Insets(3,2,3,2);pLeft.add(bOther);bOther = new JButton(
12、“MS“);bOther.addActionListener(this);bOther.setForeground(Color.red);- 8 -bOther.setMargin(new Insets(3,2,3,2);pLeft.add(bOther);bOther = new JButton(“M+“);bOther.addActionListener(this);bOther.setForeground(Color.red);bOther.setMargin(new Insets(3,2,3,2);pLeft.add(bOther);pBottom.add(pLeft,BorderLa
13、yout.WEST);JPanel pRight = new JPanel();pRight.setLayout(new BorderLayout();JPanel pUp = new JPanel();pUp.setLayout(new GridLayout(1,3,3,0);bOther = new JButton(“BackSpace“);bOther.addActionListener(this);bOther.setForeground(Color.red);bOther.setMargin(new Insets(3,0,3,5);pUp.add(bOther);bOther = n
14、ew JButton(“CE“);bOther.addActionListener(this);bOther.setForeground(Color.red);pUp.add(bOther);bOther = new JButton(“C“);bOther.addActionListener(this);bOther.setForeground(Color.red);pUp.add(bOther);2.2.5 数字键及运算符号代码图 2.5 数字键图JPanel pDown = new JPanel();pDown.setLayout(new GridLayout(4,5,3,2);bNumb
15、er = new JButton(“7“);bNumber.setForeground(Color.blue);bNumber.addActionListener(this);- 9 -bNumber.setMargin(new Insets(3,3,3,3);pDown.add(bNumber);(注:其他数字键、运算符号键与“7”定义相同。 )- 10 -第三章 程序运行效果3.1加法运算本计算器可以实现多个运算数相加,例如:1+2+3+4计算结果为 10,所有数据均为 double 类型。3.2减法运算本计算器可以实现多个运算数相减(正负数) ,例如:6-5-3-1计算结果为-3,数据类型为 double 类型。3.3乘法运算本计算器可以实现多个运算数相乘,例如 2*3*4*5