[アルゴリズム – ジャワ] 表現の接尾辞の値を計算する – 後置式の値を計算する

従来のコンピュータの中央要素として数式の値の計算は、逆ポーランド記法に変換されます (接尾辞) その計算は簡単です。. あなたは、アルゴリズムを見直すことができます 接尾辞に中置からの変換 私の記事で. この記事では、, 私は、スタックによって表現プレフィックスの値と接尾辞を算出する方法を紹介します.

左から右に後置表現のトークンをループ:
– オペランドの場合: スタックにプッシュします
– オペレータの場合: スタック内の2つのオペランドをポップし、この演算子に基づいてそれらの値を計算します. スタックの結果でそれをプッシュバック.
メインループの後に残っているスタック内の要素は、発現の結果であります.

表現の接尾辞の要素を持つ配列ElementMath.

public String valueMath(String[] elementMath){
		Stack <String> S = new Stack<String>();
		InfixToPostfix  IFP = new InfixToPostfix();
		for (int i=0; i<elementMath.length; i++){
			char c = elementMath[i].charAt(0);
			if (!IFP.isOperator(c)) S.push(elementMath[i]);
			else{
				double num = 0f;
				double num1 = Float.parseFloat(S.pop());
				double num2 = Float.parseFloat(S.pop());
				switch (c) {
					case '+' : num = num2 + num1; break;
					case '-' : num = num2 - num1; break;
					case '*' : num = num2 * num1; break;
					case '/' : num = num2 / num1; break;
					default:
						break;
				}
				S.push(Double.toString(num));
			}
		}
		 return S.pop();
	}