最近在考慮乙個問題:公司專案可能會使用運算模板來計算相應的值,模板freemarker、velocity都是不錯的選擇。那通過模板將計算公式字串組裝出來後,就需要解析字串得到計算結果,以下是我的實現:
public class arithmetic ;
public static void main(string args)
private boolean contains(char array, char v)
public bigdecimal parserexpression(string expression)
stack1.push(c);
} else }}
stackstack2 = new stack();
while (!stack1.isempty())
}stack2.push(o);
}return this.subexpression(stack2);
}private bigdecimal subexpression(stackstack)
}list.add(o);
}return calculation(list);
}private bigdecimal calculation(arraylistlist)
}if (priority) else
priority = false;
sign = 0;
continue;
}stack3.push(o);
}bigdecimal result = new bigdecimal(0);
while (!stack3.isempty())
if (stack3.isempty())
object abs = stack3.pop();
if (!(abs instanceof character))
char c = (character) abs;
if (c == '+') else
}return result;
}}
java四則運算
public class arithmetic implements serializable 除法 param number1 除數 param number2 被除數 param decimal 保留幾位小數點 return public static double divide string ...
實現四則運算
總結最近在看資料結構,遇到第乙個實際棧的應用,記錄 將平時的四則運算表示式又稱為中綴表示式轉化為字尾表示式。遇數字輸出,遇符號進棧,符號優先順序低於棧當前符號則輸出,輸出直到同等優先順序符號。例 9 3 1 2 輸出 棧 9 in 9 in 9 3 9 3 in 9 3 1 9 3 1 in 右括號...
四則運算java版
本題目要求編寫的是乙個簡單的計算器,該計算器目前只需要支援單位正整數的加 減 乘 除運算,並支援用括號表示優先級別。和我們小學時學過的算術規則一致,乘法和除法的優先順序一樣,加法和減法的優先順序一樣。乘除法的優先順序高於加減法。括號的優先順序最高。同一優先順序的運算順序為自左向右。public cl...