简单四则运算

简单四则运算

ID:21362679

大小:45.50 KB

页数:4页

时间:2018-10-21

简单四则运算_第1页
简单四则运算_第2页
简单四则运算_第3页
简单四则运算_第4页
资源描述:

《简单四则运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、publicclassclsCalculate{//calculate//1+(2+3)*(5+6)-(5-2)/2publicstringCalculateAll(stringstr){string[]sall=str.Split(newchar[]{'('});stringstmp="";while(sall.Length!=1){Listlsts=newList();string[]scpy=newstring[sall.Length-1];stmp=sall[sall.Length-1];//保存最后一个的值Array.Copy(sall,scpy,

2、scpy.Length);//算出最后一个括号的位置intist=string.Join("(",scpy).Length+1;intien=str.IndexOf(')',ist);stmp=stmp.PadLeft(ist+stmp.Length,'');//取出括号里的计算式stringst=str.Substring(ist,ien-ist);//保存本次不需计算的lsts.AddRange(scpy);sall=lsts.ToArray();//计算取出的式子并保存sall[sall.Length-1]+=CalculateValue(st);//保存括号)后面的内容sall[s

3、all.Length-1]+=stmp.Substring(ien+1);}returnCalculateValue(sall[0]);}publicstringCalculateValue(stringstr){//按四则运算符分隔成数组string[]sval=SplitCalculate(str);//进行乘法,除法运算sval=Calculate(sval);//进行加,减?算sval=CalculateAddSub(sval);returnsval[0];}privatestring[]SplitCalculate(stringstr){Listlst=newLi

4、st();string[]st=str.Split(newchar[]{'+','-','*','/'});intstart=0;for(intjdx=0;jdxlst=newList

5、();if(!IsNumber(st[0])){thrownewException("");}intval1;intval2;intval3=0;;intidx=0;//1+2/3*5for(idx=0;idx

6、CompareTo("/")==0){if(val3!=0)val1=val3;elseval1=ToInteger(st[idx]);val2=ToInteger(st[idx+2]);val3=val1/val2;idx++;//lst.Add(val3.ToString());}else{if(val3!=0){lst.Add(val3.ToString());val3=0;}elselst.Add(st[idx]);lst.Add(st[idx+1]);idx++;}}if(val3!=0)lst.Add(val3.ToString());if(idx==st.Length-1)l

7、st.Add(st[st.Length-1]);returnlst.ToArray();}privatestring[]CalculateAddSub(string[]st){Listlst=newList();if(!IsNumber(st[0])){thrownewException("");}intval1;intval2;intval3=0;;//1+2/3*5for(intidx

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。