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年華為上機的乙個題目 題目思路 建立棧分...