as解析字串表示式,四則運算(2)

2021-06-04 11:58:00 字數 1194 閱讀 3829

1.as解析字串表示式,四則運算結果。

2.傳入字串表示式infix.如:「(2-8/4-7*2)/3「

3.返回計算後的結果,string型別。

private function evalstring(infix:string):string else if (opsign == '-')  else if (opsign == '*')  else if (opsign == '/')  else 

}postfix[post-1] = 0;

postfix[post-2] = res;

post--;

}//掃瞄中綴表示式

for (i=0; i0; j--) else

}op = j;

break;

case '*' :

case '/' :

//如果棧頂的運算子為*或/,則先退棧,再入棧,否則直接入棧

if (oparray[op-1] == '*') else if (oparray[op-1] == '/')

oparray[op] = infix.charat(i);

op++;

break;

case '+' :

case '-' :

//如果棧頂的運算子不是左括號也不是棧底,則先退棧計算,再入棧

if (oparray[op-1] != '(' && oparray[op-1] != '@')

oparray[op] = infix.charat(i);

op++;

break;

default :

//如果是數字字元或者小數點則轉化為數字存入陣列

//如果下乙個字元是運算子則把當前數字存入陣列

tempstring += infix.charat(i);

var temp:string = new string();

temp = infix.charat(i+1);

if (temp != '.' && (temp>'9' || temp<'0'))

//trace(postfix); }}

//掃瞄完成,全部退棧

for (j=op-1; j>0; j--) else

}//返回結果

return postfix[0];

}

as 字串解析成四則運算

1,解析字串 a 1 b 2 c 1 2等類似字串表示式 2.步驟一是先取出 中的標記id,根據id取到對應的數值,第一步解析後狀態似 4 5 1 2 3.步驟二是根據 4 5 1 2解析成四則元算後,得到乙個結果值,return string型別。package com.zzz 計算字串中的某已單...

as 字串解析成四則運算

1,解析字串 a 1 b 2 c 1 2等類似字串表示式 2.步驟一是先取出 中的標記id,根據id取到對應的數值,第一步解析後狀態似 4 5 1 2 3.步驟二是根據 4 5 1 2解析成四則元算後,得到乙個結果值,return string型別。package com.zzz 計算字串中的某已單...

字串 四則運算

題目大意 有字串表示的乙個四則運算表示式,要求計算出該表示式的正確數值。四則運算即 加減乘除 另外該表示式中的數字只能是1位 數值範圍0 9 另若有不能整除的情況,按向下取整處理,eg 8 3得出值為2。若有字串 8 7 2 9 3 計算出其值為19。2012年華為上機的乙個題目 題目思路 建立棧分...