- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java计算器实验报告
一、目标:
通过Java程序开发实训使学生掌握《面向对象程序设计(Java)》课堂讲授的内容,灵活运用到Java程序的开发与设计中。
二、要求:
按时参加Java程序开发实训训练,不得迟到和早退;独立完成程序设计;按要求撰写实践报告。
三、详细内容:
使用《面向对象程序设计(Java)》课程讲授内容,编写一个简单的计算器,要求实现如下功能:
进行图形界面设计
通过图形界面设计,掌握Frame类、Panel类、5种布局管理器、文本框、标签及按钮的使用方法。
实现计算器的基本功能
包括加减乘除四则运算、清除结果等功能。
实现计算器的存储计算功能
包括清空、使用清零、退格。和基本运算
4.类的属性及所用到的方法布局
布局:
整个界面(Frame)采用BorderLayout布局
P1组件添加到Frame的南部
P1采用默认的流式布局添加文本框
P2组件添加到Frame的中部
P2采用网格布局四行五列放各种按钮
用到的类:
mycal
KeyAdapter
WindowAdapter
MyCal类:
mycal类的属性:
b[];按钮数组保存各种按键 以后放到Panel2中
tf;文本匡显示输入及运算结果
num1,num2,jieguo运算数
char c,ch;运算符号,ch为输入的运算符号,c保存ch输入的“+-*/”
Panel p1,p2;//两个组件p1放文本匡p2放按钮
P2的布局为网格布局5行4列
mycal类的方法:
构造方法:
设置标题;
设置文本框;
文本框中添加匿名内置类(KeyAdapter)实现键盘的输入和运算;
将各种组件添加到容器,设置各种按键的颜色 ;
添加WindowListenr监听器设置关闭按钮;
2.Main方法:
新建一个mycal类;
actionPerformed 方法:
设置按钮的输入和运算,
当按下运算数将其显示在文本匡中如果之前清零则将零去除
当按下运算符将其保存在c中并将文本匡内容清空
当按下等号判断字符c的符号进行相应的运算并将结果显示在文本框中。
当按下清空按钮将文本框清空,当按下退格按钮取文本框中字符串的字串删除一个符号。
KeyAdapter类:
KeyAdapter类的属性:mycal类中的属性
KeyAdapter类的方法:
keyPressed()方法
当键盘按下时, 判断键盘的输入
当为“+-*/”时记录下num1及c;
当为”=”或“Enter”时记录下num2并将结果计算出来
keyReleased()方法
当键盘松开时,
如果是按下“+-*/”后松开
将文本框清空
如果是按下“=”或“Enter”后松开
将计算结果显示在文本框中
WindowAdapter类:
WindowAdapter类的属性:
WindowEvent e
WindowAdapter类的方法:
windowClosing();
设置关闭按钮
、四、源代码
/*
类mycal继承Frame实现了ActionListener接口;
往容器中添加两个组件Panel1,Panel2;
Panel中放置文本匡,Panel2中放置各种按键;
文本匡中以匿名内置类的方式添加键盘监听器实现键盘的输入及运算;
为Panel2中各种按键添加动作监听器实现按键的输入及运算;
*/
import java.awt.*;
import java.awt.event.*;
class mycal extends Frame implements ActionListener
{
private Button[] b;
private TextField tf;
private double num1,num2,jieguo;//运算数
private char c,ch;//运算符
Panel p1,p2;//两个组件
public mycal()
{
setTitle(My Calculator 1.0);
p1=new Panel();
tf=new TextField(25);
tf.addKeyListener(new KeyAdapter(){ //添加键盘监听器现键盘的输入及运算
public void keyPressed(KeyEvent e)
{
char ch=e.getKeyChar();
if(+-*/.indexOf(ch)!=-1)
{
您可能关注的文档
- GMP人工新城芦潮GMP.doc
- GoogleChrome浏览器必备的20个插件.doc
- Googlemap使用教程.doc
- 2017云南国考面试社会现象试题解题技巧.doc
- Google地图切片URL地址解析.doc
- GPON与EPON的技术比较.doc
- 2017云南省试行测资料分析指数问题讲解.doc
- GPEC-CJP-TMP-X11-201A1PRE技术部组织机构及岗位职责描述.doc
- GPON与EPON的综合比较分析.doc
- GPON和EPON技术比较.doc
- 《新冠病毒肺炎康复患者肺功能恢复与慢性阻塞性肺疾病风险防控策略研究进展》教学研究课题报告.docx
- 7 《商业银行财富管理业务财富管理顾问激励机制与客户满意度研究》教学研究课题报告.docx
- 《教育技术培训对中小学教师信息化教学评价能力的影响研究》教学研究课题报告.docx
- 《智能制造环境下机械产品质量追溯系统安全性与可靠性研究》教学研究课题报告.docx
- 基于大数据的智慧校园智能学习环境家校协同教育模式创新分析教学研究课题报告.docx
- 《农作物病虫害生物防治技术风险评估与风险管理研究》教学研究课题报告.docx
- 《网络文学改编影视作品的文化传播与影视特效产业创新模式》教学研究课题报告.docx
- 2025年安徽省滁州市明光市中考历史三模试卷(含答案).docx
- 高中英语学科教学策略在提高学生英语综合运用能力中的应用研究教学研究课题报告.docx
- 小学语文AI教学平台的跨文化内容处理与国际化语言策略研究教学研究课题报告.docx
文档评论(0)