logo资料库

JAVA编写的科学计算器设计报告.doc

第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
资料共30页,剩余部分请下载后查看
JAVA 应用与开发 程序设计报告 ( 2012/2013 学年 第 6 学期) 题 目: 计算器 班 级 学 生 姓 名 学 号 所 属 分 组 日 期 2013/5/4 - 1
评分项 优秀 良好 中等 及格 不及格 出勤 (10%) 纪律 (10%) 程序演示 (10%) 程序完成情况 (20%) 报告 (50%) 评 分 细 则 总 评 分 教师签名: 年 月 日 - 2
一、课题内容和要求 计算器 实现类似 Windows 操作系统“计算器”的功能。可以完成任意的通常借助手持计算器 来完成的标准运算。“计算器”可用于基本的算术运算,比如加减运算等。同时它还具有 科学计算器的功能,比如对数运算和阶乘运算等。 二、需求分析 1、计算器的基本功能 (1)加法运算:用数字按钮和“+”按钮进行运算; (2)减法运算:用数字按钮和“-”按钮进行运算; (3)乘法运算:用数字按钮和“*”按钮进行运算; (4)除法运算:用数字按钮和“/”按钮进行运算; 2、计算器的退格和清零 用“退格”按钮和“C”按钮实现; 3、计算器的科学计算功能 (1)正负数转换:用数字按钮和“+/-”按钮进行运算; (2)开方:用数字按钮和“sqrt”按钮进行运算; (3)倒数:用数字按钮和“1/x”按钮进行运算; (4)平方:用数字按钮和“x^2”按钮进行运算; (5)立方:用数字按钮和“x^3”按钮进行运算; (6)正切:用数字按钮和“tan”按钮进行运算; (7)正弦:用数字按钮和“sin”按钮进行运算; (8)余弦:用数字按钮和“cos”按钮进行运算; (9)自然对数(以 e 为底数):用数字按钮和“ln”按钮进行运算; (10)常用对数(以 10 为底数):用数字按钮和“log”按钮进行运算; 4、计算器的功能分布如下图: - 3
退格 8 5 2 +/- 7 4 1 0 屏幕 C + - * / ln 9 6 3 . = sqrt 1/x x^2 x^3 tan sin cos log 整个程序只有一个 Calculator 类,该类继承自 JFrame 类。类中有一个构造方法 Calculator,一个初始化计算器窗口界面的函数 init,一个初始化计算器状态的函数 initState,两个单击按钮是要执行的方法 actionPerformed1, actionPerformed2,一个计 算函数 compute,最后是主函数 main。 三、概要设计 JFrame:class Calculator:class public Calculator() private void init() void initState() private void actionPerformed1(ActionEvent evt) private void actionPerformed2(ActionEvent evt) private void compute() public static void main(String args[]) 整个程序只有一个 Calculator 类,该类继承自 JFrame 类。类中有一个构造方法 Calculator,一个初始化计算器窗口界面的函数 init,一个初始化计算器状态的函数 initState,两个单击按钮是要执行的方法 actionPerformed1, actionPerformed2,一个计 算函数 compute,最后是主函数 main。 - 4
四、详细设计 1、源代码如下: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.math.*; import java.lang.Math.*; class Calculator extends JFrame { //实例变量 private JTextField jTextField1; private JButton jButton1,jButton2,jButton3,jButton4,jButton5; private JButton jButton6,jButton7,jButton8,jButton9,jButton10; private JButton jButton11,jButton12,jButton13,jButton14,jButton15; private JButton jButton16,jButton17,jButton18,jButton19,jButton20; private JButton jButton21,jButton22,jButton23,jButton24,jButton25; private JButton jButton26,jButton27,jButton28; //面板用于放置按钮 Private JPanel jPanel1,jPanel2,jPanel3,jPanel4,jPanel5; Private jPanel6,jPanel7,jPanel8; //取 0、1 或 2 表示计算机的状态 private int p; //op[0]存放第 1 个操作数或上次运算的结果,op[1]存放本次运算的运算符,op[2] 存放第 2 个操作数 private String[] op=new String[3]; //构造方法 public Calculator() { super("计算器"); init(); - 5
initState(); } //初始化计算器的窗口界面 private void init() { //设置处理窗口关闭时间的隐含代码,窗口界面采用默认的边框式布局管理器 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false);// 不能用鼠标拉伸窗体 setSize(380, 260); //创建各按钮 jButton1=new JButton("1"); jButton2=new JButton("2"); jButton3=new JButton("3"); jButton4=new JButton("4"); jButton5=new JButton("5"); jButton6=new JButton("6"); jButton7=new JButton("7"); jButton8=new JButton("8"); jButton9=new JButton("9"); jButton10=new JButton("0"); jButton11=new JButton("."); jButton12=new JButton("+"); jButton13=new JButton("-"); jButton14=new JButton("="); jButton15=new JButton("C"); jButton16=new JButton("*"); jButton17=new JButton("/"); jButton18=new JButton("sqrt"); jButton19=new JButton("tan"); jButton20=new JButton("sin"); jButton21=new JButton("cos"); - 6
jButton22=new JButton("1/x"); jButton23=new JButton("x^2"); jButton24=new JButton("x^3"); jButton25=new JButton("ln"); jButton26=new JButton("log"); jButton27=new JButton("+/-"); jButton28=new JButton("退格"); //为各按钮注册监听器 jButton1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) actionPerformed1(evt); { } }); jButton2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) actionPerformed1(evt); { } }); jButton3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) actionPerformed1(evt); { } }); jButton4.addActionListener(new ActionListener() - 7
{ public void actionPerformed(ActionEvent evt) actionPerformed1(evt); { } }); jButton5.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) actionPerformed1(evt); { } }); jButton6.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) actionPerformed1(evt); { } }); jButton7.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) actionPerformed1(evt); { } }); jButton8.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) - 8
分享到:
收藏