提交内容:实验报告+工程文件
1.1 实验目标
- 巩固并熟练掌握Java技术
- 模仿Windows计算器开发一个简易的计算器小程序
一、编出计算器图形界面。包含:主框架、文本框、按钮、菜单。
二、实现功能。具体功能:支持鼠标输入,支持加减乘除及混合运算,输出计算器的计算结果,算数运算的数据类型包括整数、浮点数,运算结果溢出后或出现运算异常(比如被除数为0的情况)在结果框内要有提示,还支持求倒数、取正负号、去百分号、存数、后退、清零、归位等操作。
1.2 实验要求
- 请各位学习者记录实验调试中出现的问题、调试过程及解决方法;
- 请各位学习者记录实验成果,并将运行结果抓屏;
- 请各位学习者按教学大纲的要求完成实验报告
- 完成实验报告Word文件
- 请将程序设计思想和方法、最终程序清单(自行设计部分明确表示)、运行结果抓屏等
- 报告提交到课程【作业】中。
1.3 实验内容
1.3.1 实验题1:编写简易计算器图形界面
【题目要求】
步骤1:编写计算器界面主框架,调试并运行。(要求:设置名称为“计算器”,框架大小为270*250,初始位置270*250,背景颜色Color.lightGray,是否显示true,能否改变窗口大小false,并增加addWindowListener委托事件,使其当关闭窗口是调用System.exit(0)系统指令,结束程序)。
步骤2:添加菜单栏,并设置“编辑(E)”、“查看(V)”、“帮助(H)”项,编写、调试并运行。
步骤3:为“编辑”项添加“复制(C)Ctrl+C”、“粘贴(P)Ctrl+V”项,编写、调试并运行。(要求:都创建具有关联的键盘快捷方式的菜单项)。
步骤4:为“查看“项添加”标准型(T)“、”数字分组“项,编写、调试并运行。(要求:”数字分组“项具有状态)。
步骤5:为“帮助“项添加”关于计算机(A)“项,编写、调试并运行。
步骤6:设置文本框(显示计算结果answerText文本框和显示计算器内存使用情况memoryState文本框);对其布局:设置计算器上部分容器和文本框容器,把上容器放在主框架的北面,把answerText文本框添加到文本容器中,把文本容器放入上容器中,编写、调试并运行。(要求:文本框用swing的组件JTextField,背景色为白色,answerText右对齐,大小22个字符,memoryState为2字符)。
步骤7:设置按钮(退格“BackSpace”按钮、清除“CE”按钮、清空“C”按钮);对其布局:设置计算器中部分容器,把中容器放在主框架的中部,中容器采用流式布局, 各组件相互间隔10个像素的布局,把这三个按钮与内存文本框memoryState一起放在中容器中。
步骤8:设置内存操作按钮(“MC”按钮、“MR”按钮、“MS”按钮、“M+”按钮);对其布局:设置主键盘区的容器和内存区的容器,把主容器放在主框架的南面,内存区采用4*1的网式布局,把这四个按钮放在内存区容器中,把内存区容器放在主容器的西面。
步骤9:设置数字键(“0”“1”…“9”)、运算键(“+”“-”“*”“/”)、符号键(“sqrt”“%”“1/x”“=”“.”“+/-”);对其布局:设置数字及符号容器,此容器采用4*5的网式,相互间隔5个像素的布局,把这些键按想要的顺序添加到此容器中,然后把这个容器放在主框架的中间。
【实验过程记录】
1.正确运行出的计算机主框架的界面(截图抓屏)
2.正确运行出含有“编辑(E)”、“查看(V)”、“帮助(H)”菜单项的计算机界面(截图抓屏)
3.正确运行出在“编辑“下含有”复制“、”粘贴“菜单项的计算机界面(截图抓屏)
4.正确运行出在“查看“下含有”标准型“、”数字分组“菜单项的计算机界面(截图抓屏)
5.正确运行出在“帮助“下含有”关于计算机“菜单项的计算机界面(截图抓屏)
6.正确运行出含有answerText文本框的计算机界面(截图抓屏)
7.正确运行出含有memoryState文本框、“BackSpace“键、”CE”键、“C”键的计算机界面(截图抓屏)
8.正确运行出含有内存操作键的计算机界面(截图抓屏)
9.正确运行出含有数字键、符号键、运算键的完整的计算器界面(截图抓屏)
【实验总结和收获】
1.3.2 实验题2:实现计算器界面上各组建的功能
【题目要求】
步骤1:实现数字键在控制台的输出(1、2、3、4、5、6、7、8、9、0)
步骤2:实现加(+)、减(-)、程(*)、除(/)的逻辑运算功能
步骤3:实现分号(1/x)、百分号(%)、根号(sqrt)、等号(=)、点符号(.)、正负号(+/-)的功能
步骤4:实现删除(C)、清除输入键(CE)、退格键(BackSpace)的功能
步骤5:实现菜单栏编辑(E)中复制、粘贴项,查看(V)中标准型、数字分组型项,帮助(H)中关于计算器项的功能
步骤6:实现内存键的功能:清除“寄数器”内的数据(MC),读出“寄数器”内的数据到窗口(MR),将当前窗口数据写入“寄数器”(MS),当前窗口数据域“寄数器”内的数据相加后再存入“寄数器”(M+)
【实验过程记录】
步骤1:
1.请写出在实现此步骤过程中的所用到的技术
2.书写过程中遇到的难题及解决方法
步骤2:
1.请写出在实现此步骤过程中的所用到的技术
2书写过程中遇到的难题及解决方法
步骤3:
1.请写出在实现此步骤过程中的所用到的技术
2.书写过程中遇到的难题及解决方法
步骤4:
1.请写出在实现此步骤过程中的所用到的技术
2.书写过程中遇到的难题及解决方法
步骤5:
1.请写出在实现此步骤过程中的所用到的技术
2.书写过程中遇到的难题及解决方法
步骤6:
1.请写出在实现此步骤过程中的所用到的技术
2.书写过程中遇到的难题及解决方法
【实验总结和收获】