Java实现的简易计算器-附代码(共12页).doc
《Java实现的简易计算器-附代码(共12页).doc》由会员分享,可在线阅读,更多相关《Java实现的简易计算器-附代码(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 Java实验报告题目: 简易计算器 学 院 数学与计算机学院 学科门类 工 学 专 业 软件工程 学 号 姓 名 指导教师 2012年 12月 25 日一、实验目的通过Java程序开发实训使学生掌握面向对象程序设计(Java)课堂讲授的内容,灵活运用到Java程序的开发与设计中。1. 了解Java中的类与对象,类及成员的定义 2. 掌握运算符与基本的表达式,和异常的处理 3. 数组与字符串的应用 4. 掌握常用的Java系统类,核心语言包(java.lang),工具包(java.util),数学包(java.math) 5. 接口的实现,输入输出的处理和可视化程序设
2、计二、实验要求应用Java语言,设计一个简易计算器,要求界面简洁,能完成基本运算功能。三、实验内容1. 进行图形界面设计 应用JFrame类、JPanel类、5种布局管理器、文本框、标签及按钮等。2. 实现计算器的基本功能包括加减乘除四则运算、倒数、取余、平方根、三角函数及清除结果等功能。四、设计方案1、设计流程图2、界面的设计:Swing布局。界面设计中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式。设计主界面框架布局为默认的BorderLayout布局,申请三个面板分别是:(1)输入输出面板,布局设置为两行一
3、列的网格GridLayout布局,包括两个JTextField文本框,一个负责显示当前输入信息,一个负责显示计算式。面板设置为面板的上部,即f.add(inputPanel,BorderLayout.NORTH);(2)数字按钮及运算按钮面板,设置为4行5列的网格布局,包括09的10个数字和加、减、乘、除、乘方、开方、取倒、取余、等于按钮。面板位置在主界面的下部,即f.add(buttonsPanel,BorderLayout.SOUTH);(3)功能键面板, 包括三角函数,清除,退格等按钮。面板位置在主界面框架的中部。即f.add(operationPanel,BorderLayout.CE
4、NTER)。其图形界面如下:3、数据输入:鼠标事件响应。分别定义三个类,一个是NumberMouseListener类来响应数字点击事件,另外一个是CalcMouseListener 类来响应包括开方、乘方在内的运算按钮的点击事件,最后是OperationMouseListener类用来响应退格、清除等功能键的点击事件,三个类都分别实现鼠标监听MouseListener接口。对每个按钮设置对应监听。4、数据处理:整型和浮点数处理,计算器的核心功能实现。在CalcMouseListener 类中对根据事件源的分析,完成用户要求的运算,将结果输出到文本框中。五、实验结果1、四则运算功能2、扩张的其
5、他运算功能六、程序代码public class Calculator /计算器面板private JFrame f = new JFrame(Calculator); private JPanel inputPanel = new JPanel();/输入面扳private JPanel operationPanel = new JPanel();/加减乘除面板private JPanel buttonsPanel = new JPanel();/数字面板private JTextField input = new JTextField(20); /输入数据文本框private JTextFi
6、eld show=new JTextField(20);private JButton backspace = new JButton(退格);/退格键private JButton CE = new JButton(CE );/清空private JButton C = new JButton(C);/删除private JButton sqrt=new JButton();/开方private JButton fang=new JButton();/乘方private JButton mod=new JButton(%);/取余private JButton dao=new JButton
7、(1/x);/取倒数private JButton sin=new JButton(sin);private JButton cos=new JButton(cos);private JButton lg=new JButton(ln);/四则运算符号键private JButton add = new JButton(+);private JButton sub = new JButton(-);private JButton mul = new JButton(*);private JButton div = new JButton(/);/小数点private JButton decim
8、al = new JButton(.);/等号private JButton equal = new JButton(=);/数字键private JButton zero = new JButton(0);private JButton one = new JButton(1);private JButton two = new JButton(2);private JButton three = new JButton(3);private JButton four = new JButton(4);private JButton five = new JButton(5);private
9、 JButton six = new JButton(6);private JButton seven = new JButton(7);private JButton eight = new JButton(8);private JButton nine = new JButton(9);private String num1 = ;/保存第一个运算数字private String operator = ;/保存运算符号public static void main(String args) new Calculator();/new计算器实例public Calculator() /添加组
10、件,布局show.setText(0);show.setEditable(false); /不可编辑show.setHorizontalAlignment(JTextField.RIGHT);input.setText(0);input .setEditable(false);input.setHorizontalAlignment(JTextField.RIGHT);inputPanel.setLayout(new GridLayout(2,1);inputPanel.add(show);inputPanel.add(input);/添加输入文本框f.add(inputPanel, Bord
11、erLayout.NORTH);operationPanel.add(sin);sin.setBackground(new Color(100, 255, 10);operationPanel.add(cos);cos.setBackground(new Color(100, 255, 10);operationPanel.add(CE);CE.setBackground(new Color(100, 255, 10);operationPanel.add(C);C.setBackground(new Color(100, 255, 10);operationPanel.add(backspa
12、ce);backspace.setBackground(new Color(100, 255, 10);f.add(operationPanel, BorderLayout.CENTER);buttonsPanel.setLayout(new GridLayout(4, 5); buttonsPanel.add(seven);buttonsPanel.add(eight);buttonsPanel.add(nine);buttonsPanel.add(div);buttonsPanel.add(mod);buttonsPanel.add(four);buttonsPanel.add(five)
13、;buttonsPanel.add(six);buttonsPanel.add(mul);buttonsPanel.add(fang);buttonsPanel.add(one);buttonsPanel.add(two);buttonsPanel.add(three);buttonsPanel.add(sub);buttonsPanel.add(sqrt);buttonsPanel.add(zero);buttonsPanel.add(decimal);buttonsPanel.add(equal);buttonsPanel.add(add);buttonsPanel.add(dao);f.
14、add(buttonsPanel, BorderLayout.SOUTH);/注册各个组件监听事件backspace.addMouseListener(new OperationMouseListener();CE.addMouseListener(new OperationMouseListener();C.addMouseListener(new OperationMouseListener();decimal.addMouseListener(new OperationMouseListener();equal.addMouseListener(new OperationMouseLis
15、tener();/注册运算监听add.addMouseListener(new CalcMouseListener();sub.addMouseListener(new CalcMouseListener();mul.addMouseListener(new CalcMouseListener();div.addMouseListener(new CalcMouseListener();sqrt.addMouseListener(new CalcMouseListener();fang.addMouseListener(new CalcMouseListener();mod.addMouseL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 实现 简易 计算器 代码 12
限制150内