這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么在C#中利用棧實(shí)現(xiàn)加減乘除運(yùn)算,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
陽(yáng)西ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
類Parser 的parse方法,比如給一個(gè)“3+4i”的字符串,返回給你一個(gè)3個(gè)結(jié)點(diǎn)的隊(duì),隊(duì)列第一個(gè)元素是一個(gè)ComplexNumber對(duì)象,實(shí)數(shù)域?yàn)?,隊(duì)列的第二個(gè)元素是“+”號(hào),隊(duì)列第三個(gè)元素是一個(gè)ComplexNumber對(duì)象,實(shí)數(shù)域?yàn)?,虛數(shù)域?yàn)?。
類Operators 用于測(cè)試字符是否是運(yùn)算符,用來(lái)進(jìn)行控制運(yùn)算,比較運(yùn)算符優(yōu)先級(jí)....
類Handler 給一個(gè)字符串,他幫你處理,返回給你一個(gè)結(jié)果。其實(shí)就是調(diào)一下Parser類的方法去解析一下字符串,然后算一下結(jié)果,然后返回結(jié)果。
類ComplexNumber,就是復(fù)數(shù)類啊,不用說(shuō)了,提供實(shí)數(shù)域虛數(shù)域,getset方法,加減乘除以及toString()方法
using System;
using System.Collections;
using System.Text;
namespace MySpace{
class Parser{
public static Queue Parse(string input){
char[] arr = input.ToCharArray();
Queue queue = new Queue();
foreach(char x in arr){
queue.Enqueue(x);
}
queue = ParseStringQueue(queue);
return queue;
}
//傳入字符串隊(duì)列,返回封裝好的隊(duì)列。
//ComplexNumber對(duì)象或char類型運(yùn)算符各占用一個(gè)結(jié)點(diǎn)
private static Queue ParseStringQueue(Queue queue){
Queue secondQ = new Queue();
char c;
StringBuilder sb = null;
string temp;
int count = queue.Count;
bool flag = false; //false表示允許創(chuàng)建新SB對(duì)象進(jìn)行緩存數(shù)字字符串
for(int i=0;iDon_Yao整合修復(fù)一些bug后的代碼
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
// 解析計(jì)算字符串公式
namespace CalcuStrFormula
{
// 處理類
class Handler
{
private Stack _complexNumberStack = new Stack();
private Stack _operatorStack = new Stack();
private Parser _parser = new Parser();
private Operators _operators = new Operators();
private static Handler _instance;
public static Handler instance
{
get
{
if (_instance == null)
{
_instance = new Handler();
}
return _instance;
}
}
public ComplexNumber Process(string inputString)
{
_complexNumberStack.Clear();
_operatorStack.Clear();
Queue
上述就是小編為大家分享的怎么在C#中利用棧實(shí)現(xiàn)加減乘除運(yùn)算了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
標(biāo)題名稱:怎么在C#中利用棧實(shí)現(xiàn)加減乘除運(yùn)算
本文地址:http://weahome.cn/article/iihjge.html