- 1
- 0
- 约5.75千字
- 约 6页
- 2016-12-03 发布于贵州
- 举报
UML与面对象实验报告--信息101班--刘敏华
UML与面向对象实验报告
信息101班 16号 刘敏华
题目:
请用C++,Java,C#,或VB,.NET任意一种面向对象语言实现一个计算器控制台程序,要求输入两个数和运算符号,得到结果。
问题处理:
看到这个问题,首先想到的是可以通过设立四个变量A,B,C,D来分别表示两个数字,运算符号及运算结果,然后通过if语句来判断用户输入的运算符号,从而进行数学计算,另外在计算中需要将用户输入的数字在字符型与数值型之间进行转换来实现计算和显示。
这样可以写出如下的代码:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(请输入第一个数字);
int A = Convert.ToInt32(Console.ReadLine( )); //输入字符串转化为整形
Console.WriteLine(请输入第二个数字);
int B = Convert.ToInt32(Console.ReadLine( );
Console.WriteLine(请输入运算符);
string C = Console.ReadLine( );
string D = ;
if (C == +)
D = Convert.ToString(A + B);
if (C == -)
D = Convert.ToString(A - B);
if (C == *)
D = Convert.ToString(A * B);
if (C == /)
D = Convert.ToString(A / B);
Console.WriteLine (运算结果是: + D);
}
}
但是对代码进行仔细分析后,就会发现里面存在着许多明显的问题:
代码里面的命名很不规范,A,B,C,D让人看起来一下子很难理解代码代表的含义,代码标识符应该采用英文单词或其组合,应当直观且可以拼读,可望文知意,用词应当准确。
在代码里面,If判断语句用了四次,这样会导致每个条件都必须进行判断,这样下来,就会导致计算机做许多的无用功。
进行除法运算时,没有判断字符是否为0,如果是0就会导致不符合运算规则,导致计算错误。
为了解决这些问题,可以采取以下措施:
关于命名不规范的问题,可以采用新的命名,数字可以分别用NumberA和NumberB来表示,运算符号则可以用strOperate来表示,运算的结果可以用str
针对运算符的判断,可以采用switch开关语句来进行判断,这样就会少做许多的无用功
可以采用if语句来判断是否为0,如果是则提示错误。
经过修改,可以得到下面的结果:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(请输入第一个数字);
Int NumberA = Convert.ToInt32(Console.ReadLine( ));
Console.WriteLine(请输入第二个数字);
int NumberB = Convert.ToInt32(Console.ReadLine( );
Console.WriteLine(请输入运算符);
string strOperate = Console.ReadLine( );
string strResult = ;
switch(strOperate)
{ {
Case +:
strResult = Convert.ToString(NumberA + NumberB);
break;
case -:
strResult = Convert.ToString(NumberA - NumberB);
break;
case *:
strResult = Convert.ToString(NumberA * NumberB);
break;
case /:
if (strNumberB != 0)
strResult=Convert.ToS
您可能关注的文档
- SKF润滑性能及用途.doc
- SKG130原汁机评测:锁定营养,多倍出汁.doc
- SKG135原汁机:无氧化出汁口,果汁营养高.doc
- SKG206原汁机评测(new).doc
- SLB立式拆式双吸泵价格.doc
- SMA-1面层试铺总结.doc
- SKG209原汁机评测 (6-26).doc
- SMI第八拆分为什么拆分1.6倍 这是为什么呢,亲爱的玩家们仔细瞧瞧.doc
- SMAR通型彩色视频会议摄像机.技术规格.特性。..doc
- SMP-Q-016-A 产品放行管理制度.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 虹口区2009学年第一学期高三英语期终教学质量监控测试卷(附答案).doc VIP
- CNAS-CL01-2018检验和校准实验室能力认可准则培训教材.ppt
- GMP标准简介(程克文)课件.pptx VIP
- 2025年中国大唐集团有限公司校园招聘笔试参考题库附带答案详解.docx
- 民族药四数九里香.pptx VIP
- 2022年四川省雅安市中考数学试卷真题(附答案详解)文字可复制.pdf
- 2026年春季北师大版(2024)三年级下册数学教学计划(含进度表).docx VIP
- 党支部2025年度组织生活会个人对照在学习贯彻党的创新理论、在加强党性锤炼、在联系服务群众、在发挥先锋模范作用、在改作风树新风存在的不足.docx VIP
- 职业生涯规划与就业创业指导 第3版 第4章 生涯目标与职业决策.ppt VIP
- 2026年Shopee店铺运营实战手册.pptx
原创力文档

文档评论(0)