目 录
目 录 ...................................................................... 1 1 需求分析 ................................................................. 1
1.1 计算器的基本功能: ............................................... 1
1.1.1 加法运算:用数字按钮和“+”按钮进行运算; .................... 1 1.1.2 减法运算:用数字按钮和“-”按钮进行运算; .................... 1 1.1.3 乘法运算:用数字按钮和“*”按钮进行运算; .................... 1 1.1.4 除法运算:用数字按钮和“/”按钮进行运算; .................... 1 1.2 退格键和清零键: 用”Backspace”和”C”按钮实现; ................. 1 1.3 计算器的科学计算方法: ........................................... 1
1.3.1 开方:用数字按钮和“Sqrt”按钮进行运算; ..................... 1 1.3.2 百分比:用数字按钮和“%”按钮进行运算; ...................... 1 1.3.3 求倒数:用数字按钮和“1/x”按钮进行运算; .................... 1
2 设计..................................................................... 2
2.1 用户界面设计 ..................................................... 2
2.1.1 该计算器程序的设计:用户界面包括Swing组件,不过程序中大都使用的是AWT组件. import java.awt.*; ....................................... 2 2.1.2 在AWT组件, .................................................. 2 2.1.3 这个界面设计中包含了两个接口,单击事件监听器接ActionListener口和键盘事件监听器接口(KeyListener). ................................... 4 2.1.4 程序设计中,使用了布局管理: ................................... 4 2.2 概要设计 ......................................................... 4
2.2.1 Calculator类中的类名是Calculator.它的功能是使用图形用户来实现计算器的界面设计和运算功能以及一些科学运算方法. ...................... 4 2.2.2 main主类.中调用了cal.display来实现计算器的功能 . ........... 4
3 实现..................................................................... 4 4 测试.................................................................... 16
4.1 实现加法运算:4+12=16 ........................................... 17 4.2 实现减法运算:22-11=11 .......................................... 17 4.3 实现乘法运算:3*9=27 ............................................ 18 4.4 实现除法运算:64/32=2 ........................................... 18 4.5 用”C’实现清零功能: ............................................ 19 4.6 用”Backspace”实现退格功能: .................................... 20 4.7 求倒数:1/4=0.25 ................................................. 20 5 总结和体会 ............................................... 错误!未定义书签。
. . .
1 需求分析
(该部分主要阐述所要实现的程序具体具有什么样的功能,要细化,可以用图表作为辅助描述手段)
该计算器程序除了具备加减乘除基本功能外,还有清零键C和退格键Backspace,和一些部分的科学计算方法,包括开方、求倒、百分比,程序里面也写了键盘事件监听器接口,不过由于时间仓促,还没能设计出来,所以该计算器不能实现此功能。
MC MR MS M+ 7 4 1 0 Backspace 8 5 2 +/- 9 6 3 . CE / * - + C Sqrt % 1/x = 1.1 计算器的基本功能:
1.1.1 加法运算:用数字按钮和“+”按钮进行运算; 1.1.2 减法运算:用数字按钮和“-”按钮进行运算; 1.1.3 乘法运算:用数字按钮和“*”按钮进行运算; 1.1.4 除法运算:用数字按钮和“/”按钮进行运算; 1.2 退格键和清零键: 用”Backspace”和”C”按钮实现; 1.3 计算器的科学计算方法:
1.3.1 开方:用数字按钮和“Sqrt”按钮进行运算; 1.3.2 百分比:用数字按钮和“%”按钮进行运算;
1.3.3 求倒数:用数字按钮和“1/x”按钮进行运算;
. . .
2 设计
(该部分主要要说明,在使用Java实现该程序前考虑的内容,主要包括下面两部分:用户界面设计和概要设计(这部分可简单看作是类设计))。
2.1 用户界面设计
(用图或文字阐述你的界面如何设计,如:包括哪些部分,使用什么样的布局管理器等)
2.1.1 该计算器程序的设计:用户界面包括Swing组件,不过程序中大都使用的
是AWT组件. import java.awt.*;
import java.awt.event.*; import javax.swing.*;
2.1.2 在AWT组件,
(1) 使用了面板和按钮:
Panel p1,p2,p3,p4,p5,p6;
Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0;
Button
bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative; Button bBackspace,bCE,bC,bMR,bMS,bMC,bM;
(2) 界面设计也包括了AWT的委托事件模型,该程序设计在java.awt.event包中定义了窗口事件类
public void windowClosing(WindowEvent e) {
System.exit(0); }
单击事件类.
public void actionPerformed(ActionEvent e) {
//key 0 to 9
if(this.keyAvailable && e.getActionCommand().length()==1 e.getActionCommand().compareTo(\e.getActionCommand().compareTo(\ {
if(this.isTempNowInput) {
this.dNowInput=0;
this.isTempNowInput=false; }
this.nBitsNum++;
&& &&
. . .