Java语言与编程-实验2基于对象程序设计.doc

Java语言与编程-实验2基于对象程序设计.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广 州 大 学 实 验 报 告 学 院 工商管理 专业、班级 电子商务 姓名、学号 许文权 1113800014 课程名称 JAVA程序设计 项目名称 基于对象的程序设计 实验时间: 2013 年 5 月 1日 实验2 基于对象的程序设计 实验目的 掌握基于对象的程序设计基本概念; 掌握把对象的外部表现与内部实现机制分离的机制; 掌握通过组合对象的相互作用构成大型系统的基本技术; 掌握多个文件java程序设计的方法; 实验内容和步骤 精读Calc.ppt 中的Pocket Calculator Simulator,并上机调试运行该程序,在此基础上,修改该程序,使其具备错误处理能力。具体要求如下: In CalcEng 类 增加一个常量MAX_VALUE,其值为当前充许的最大精度(目前设置为8个数字); 增加一个private 数据成员 String statusFlag,用于保存engine的状态。例如“E”代表错误,“ ”代表正常. 这些串设成符号常量。 增加一个public String status() 方法,用于返回statusFlag; 增加一个public boolean isError(),如果engine处理出错状态,则返回true. 增加一个private boolean isError(double n),用于返回计算结果是否太大; 修改operate方法,使其clear,all_clear均能处理statusFlag. ln CalcEng 类完整程序: /////// CalcEng.java /////// class CalcEng { // public members public CalcEng() { allClear(); } // 读取CalcEng支持的运算符 public String keys() { return KEYS; } // 取得CalcEng支持的数据精度 public byte precision() { return PREC; } // 读取当前支持的运算符 public char getOpcode() { // returns current opcode return op; } // 显示计算器的计算结果,若操作数个数为2则输出arg,否则输出ans public double getOutput() { // returns current argument return (argcnt == 2 ? arg : ans); } // 执行计算 public void operate(char nc) { // nc is next opcode switch (nc) { case 'A': allClear(); return; // All Clear case 'C': clear(); return; // Clear case 'N': // sign change if (argcnt == 1) ans = -ans; else arg = -arg; return; default: // +-*/= compute(); //自己增加的 if(isError(ans)) { System.out.println("结果超出了计算器的允许范围,发生错误。"); } op = nc; // new opcode } } // 设置操作数 当前op为= 则赋给ans,否则赋给arg 同时argcn=2 public void setOperand(double in) { if (op == '=') ans = in; else { arg = in; argcnt = 2; } } // / private members private void compute() { if (argcnt == 2) { switch (op) { case '+': ans += arg; break; case '-': ans -= arg; break; case '*':

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档