问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用代码实现计算器类,实现两个数的加、减、乘、除运算

发布网友 发布时间:2022-10-25 16:53

我来回答

1个回答

热心网友 时间:2023-10-03 14:51

【计算器】
功能 实现输入两个数字与运算符自动运算
运算类父类
public class Operation
{
private double _numberA = 0;//要运算的数字
private double _numberB = 0;

public double NumberA//运算数字的方法
{
get {return _numberA;}
set {_numberA = value;}
}
public double NumberB
{
get {return _numberB;}
set {_numberB = value;}
}
public virtual double GetResult()//等着让子类重写(延迟到子类重写)
{
double result = 0;
return result;
}
}

加减乘除子类
class OperationAdd : Operation//加法运算类
{
public override double GetResult()
{
double result = 0;
reslut = NumberA + NumberB;//运算
return result;//返回结果
}
}
class Operationsub : Operation
{
public override double GetResult()
{
double result = 0;
reslut = NumberA - NumberB;
return result;
}
}
class OperationMul : Operation
{
public override double GetResult()
{
double result = 0;
reslut = NumberA * NumberB;
return result;
}
}
class OperationDiv : Operation
{
public override double GetResult()
{
double result = 0;
reslut = NumberA / NumberB;
return result;
}
}

内部运算工厂类实现
interface Ifactory//工厂类接口
{
Operation CreateOperation();
}
class AddFactory : Ifactory//需要哪种运算就实例化哪个运算类
{
public Operation CreateOperation()
{
return new OperationAdd();
}
}
class SubFactory : Ifactory
{
public Operation CreateOperation()
{
return new OperationSub();
}
}
class MulFactory : Ifactory
{
public Operation CreateOperation()
{
return new OperationMul();
}
}
class DivFactory : Ifactory
{
public Operation CreateOperation()
{
return new OperationDiv();
}
}

客户端代码
Ifactory operFactory = new AddFatory();//要什么运算就生成什么运算
Operation oper = operFactory.createOperation();
oper.NumberA = 1;
oper.NumberB = 2;
double result =oper.GetResult();

结构化程序设计客户端写法
class program
{
static void Main(string[] ards)
{
string strNumberA = Console.ReadLine();
string strOperate = Console.Readline();
string strNumberB = Console.ReadLine();
string strResult = "";
switch (strOperate)
{
case "+"
strResult = Convert.Tostring(Convert.Todouble(strNumberA)) + Convert.ToDouble(strNumberB));
break;
case "-"
strResult = Convert.Tostring(Convert.Todouble(strNumberA)) - Convert.ToDouble(strNumberB));
break;
case "*"
strResult = Convert.Tostring(Convert.Todouble(strNumberA)) * Convert.ToDouble(strNumberB));
break;
case "/"
strResult = Convert.Tostring(Convert.Todouble(strNumberA)) / Convert.ToDouble(strNumberB));
break;
}
console.witeLine("结果是:" + strResult);
console.ReadLine();
}
}

##########################################################
PS:C#版代码。要是还有不懂之处可以Q我

热心网友 时间:2023-09-11 13:54

【计算器】
功能 实现输入两个数字与运算符自动运算
运算类父类
public class Operation
{
private double _numberA = 0;//要运算的数字
private double _numberB = 0;

public double NumberA//运算数字的方法
{
get {return _numberA;}
set {_numberA = value;}
}
public double NumberB
{
get {return _numberB;}
set {_numberB = value;}
}
public virtual double GetResult()//等着让子类重写(延迟到子类重写)
{
double result = 0;
return result;
}
}

加减乘除子类
class OperationAdd : Operation//加法运算类
{
public override double GetResult()
{
double result = 0;
reslut = NumberA + NumberB;//运算
return result;//返回结果
}
}
class Operationsub : Operation
{
public override double GetResult()
{
double result = 0;
reslut = NumberA - NumberB;
return result;
}
}
class OperationMul : Operation
{
public override double GetResult()
{
double result = 0;
reslut = NumberA * NumberB;
return result;
}
}
class OperationDiv : Operation
{
public override double GetResult()
{
double result = 0;
reslut = NumberA / NumberB;
return result;
}
}

内部运算工厂类实现
interface Ifactory//工厂类接口
{
Operation CreateOperation();
}
class AddFactory : Ifactory//需要哪种运算就实例化哪个运算类
{
public Operation CreateOperation()
{
return new OperationAdd();
}
}
class SubFactory : Ifactory
{
public Operation CreateOperation()
{
return new OperationSub();
}
}
class MulFactory : Ifactory
{
public Operation CreateOperation()
{
return new OperationMul();
}
}
class DivFactory : Ifactory
{
public Operation CreateOperation()
{
return new OperationDiv();
}
}

客户端代码
Ifactory operFactory = new AddFatory();//要什么运算就生成什么运算
Operation oper = operFactory.createOperation();
oper.NumberA = 1;
oper.NumberB = 2;
double result =oper.GetResult();

结构化程序设计客户端写法
class program
{
static void Main(string[] ards)
{
string strNumberA = Console.ReadLine();
string strOperate = Console.Readline();
string strNumberB = Console.ReadLine();
string strResult = "";
switch (strOperate)
{
case "+"
strResult = Convert.Tostring(Convert.Todouble(strNumberA)) + Convert.ToDouble(strNumberB));
break;
case "-"
strResult = Convert.Tostring(Convert.Todouble(strNumberA)) - Convert.ToDouble(strNumberB));
break;
case "*"
strResult = Convert.Tostring(Convert.Todouble(strNumberA)) * Convert.ToDouble(strNumberB));
break;
case "/"
strResult = Convert.Tostring(Convert.Todouble(strNumberA)) / Convert.ToDouble(strNumberB));
break;
}
console.witeLine("结果是:" + strResult);
console.ReadLine();
}
}

##########################################################
PS:C#版代码。要是还有不懂之处可以Q我
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 第一个说明了行星运动的图像的科学家是 最早发现行星运动规律 哪位科学家最先发现了行星? 谁第一次提出行星运动规律 第一个揭示行星运动规律的科学家是(  )A.牛顿B.卡文迪许C.第谷D.开普 家里老下雨, 据说皮裤可以防水,而且保暖,是真的吗? 我想问一下上岗证考试考哪些科目 谁有成本核算全套电子表格?可以给我发一份吗? 我想问一下带副钻的钻戒怎么样 我想问一下抖音快手点赞员是真的吗 灰色头发可以染黑色吗? 银行信用卡新手要怎么申请 人参是哪的特产 人参主要产地在哪里 地球中间的线叫什么名字 独立风行是什么意思 EXCEl有一列不见了,但也不是隐藏了,怎么也调不出来 风行的意思 军休工资调整的一览表_法师兄 朱亚文中国机长里面穿的是什么衣服? 怎么处理车身划痕? 老师说如果两个数字运算相互不影响则可以同时一步计算,请问究竟是怎么样的? 用JAVA接受用户输入两个数字,进行加减运算 c语言程序,输入两个数和一个运算符,计算其结果,用if吧,求大神帮帮忙 vt开启有什么用 世说新语里4个小故事的翻译 商业发票的内容一般包括哪些 商业发票和形式发票区别 天干是什么意思?想预知?就看天干 帮忙批个八字,捉喜神 用神, 起名字 婚姻星1颗是什么意思,姻缘星动是什么意思? 请教关于photoshop历史记录选项的问题 日文“ootori"是什么意思?数字88怎讲? PSP昵称【大漠孤鹏】,鹏字用日语怎么打 想要申请巴黎*学院和纽约哥伦比亚大学的双学士学位有什么条件?_百度问一问 精英摇篮巴黎政治学院比高等商学院到底强!在!哪! wow诺森德裁缝50啥意思 朋友你好,请问‘’鬼鳯‘’用日语输入法怎么打,求键盘顺序,拜托了,谢谢! 巴政 - 请教请教是怎么申到巴黎政治学院的啊?? 巴黎政治学院 UBC该怎么选 跪求!! 凤镜夜 的日语读法和写法