- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
练习100 计算器.doc
练习100 计算器
本例知识点 一句话讲解 新学知识 Button类 生成按钮 使用BorderLayout类 进行界面布局 已学知识 ActionListener类 进行消息监听 使用Float类型 进行浮点类型的运算 一、练习具体要求
本例制作计算器,运行效果如图100-1所示。执行本例实例后,将创建一个计算器,可以进行常用的加减乘除算术运算。本实例的知识点有:窗口布局器GridLayout的应用,对按钮消息的监听和响应 。
二、程序及注释
(1)编程思路:本例因为要制作计算器,所以首先定义具有计算功能的类Calculator。在类Calculator中定义处理加减乘除运算的函数,分别命名为opAdd (),opSubtract(),opMultiply(),opDivide()。然后,因为要实现实现人机交互的效果,所以先要定义实现用户界面类CalculatorGUI。通过Panel类的setLayout()函数进行用户界面的布局。此外,要通过actionPerformed(ActionEvent event))函数来实现对按钮事件的监听,并根据不同的按钮事件进行不同的运算。最后,因为要实现用户界面类与处理运算类的融合.,所以要在用户界面类(CalculatorGUI)中定义处理运算类(Calculator)的对象,这样,就完成了计算器的功能。
(2) 程序实现及注释:
// Calculator.java
public class Calculator {
private static final char NO_OP = \0;
private static final char PLUS = +;
private static final char SUBTRACT = -;
private static final char MULTIPLY = *;
private static final char DIVIDE = /;
private float number1 = 0.0F;
//private float number2 = Float.NaN;
private char operator = NO_OP;
//等于运算
public String opEquals(String number) {
float result;
if ( operator == NO_OP ) {
result = parseNumber(number);
} else {
result = performOperation(parseNumber(number));
}
operator = NO_OP;
number1 = result;
return Float.toString(result);
}
//加法运算
public String opAdd(String number) {
float result;
if ( operator == NO_OP ) {
result = parseNumber(number);
} else {
result = performOperation(parseNumber(number));
}
operator = PLUS;
number1 = result;
return Float.toString(result);
}
//减法运算
public String opSubtract(String number) {
float result;
if ( operator == NO_OP ) {
result = parseNumber(number);
} else {
result = performOperation(parseNumber(number));
}
operator = SUBTRACT;
number1 = result;
return Float.toString(result);
}
//乘法运算
public String opMultiply(String number) {
float result;
if ( operator == NO_OP ) {
result = parseNumber(number);
} else {
re
您可能关注的文档
最近下载
- 国家开放大学电大本科《社会政策》2024期末试题及答案(试卷号:1306).pdf VIP
- 涉路施工安全培训教育.pptx
- 2022-2023学年人教版小学数学一年级下册期末试卷 含答案.docx
- 五邑大学2021-2022学年第2学期《高等数学(下)》期末试卷(B卷)附标准答案.pdf
- 创新工作室活动记录.pdf
- DB37_T 1914—2024 液氨存储与装卸作业安全技术规范.pdf
- 2021国家开放大学电大本科《社会政策》期末试题及答案(试卷号:1306).docx VIP
- GBT 50476-2019 混凝土结构耐久性设计标准规范.pdf
- optics教程.doc
- 最新动态葡萄糖图谱报告临床应用专家共识要点.pdf
文档评论(0)